{% extends "base.html" %} {% set active_page = "idea_analysis" %} {% block title %}Idea Novelty Analysis — IETF Draft Analyzer{% endblock %} {% block extra_head %}{% endblock %} {% block content %}

Idea Novelty Deep Dive

Comprehensive analysis of {{ data.total }} technical ideas extracted from IETF AI/agent drafts. Explores novelty distribution, type breakdowns, cross-draft patterns, and correlations with draft ratings.

{{ data.total }}
Total Ideas
{{ data.type_count }}
Idea Types
{{ data.avg_novelty }}
Avg Novelty Score
{{ data.scored }}
Scored Ideas
{{ data.embed_pct }}%
Embeddings ({{ data.embed_count }}/{{ data.total }})
{{ data.shared_ideas | length }}
Shared Ideas (2+ drafts)

Novelty Score Distribution

How many ideas at each novelty level (1=incremental, 5=groundbreaking). {{ data.unscored }} ideas have no novelty score yet.

Ideas by Type (avg novelty color)

Count of ideas per type. Bar color intensity reflects average novelty score — brighter = more novel.

Draft Avg Idea Novelty vs Relevance

Each dot is a draft. X-axis = average novelty of its ideas, Y-axis = relevance score. Bubble size = number of ideas. Click to view draft.

Idea Type Breakdown (Sunburst)

Hierarchical view: outer ring shows novelty bands (High/Medium/Low) within each type.

Ideas per Draft Distribution

How many ideas does each draft contribute? Most drafts have 2-4 ideas; some prolific drafts generate 8+.

Top 20 Most Novel Ideas

Ideas with novelty score of 4 or 5, sorted by novelty then draft composite score.

{% for idea in data.top_novel %} {% endfor %}
# Idea Novelty Type Draft Description
{{ loop.index }} {{ idea.title }} {{ idea.novelty_score }} {{ idea.type }} {{ idea.draft_name | replace('draft-', '') | truncate(35) }} {{ idea.description | truncate(120) }}
{% if data.shared_ideas %}

Ideas Shared Across Multiple Drafts

{{ data.shared_ideas | length }} ideas appear in 2 or more drafts, indicating convergent thinking or common building blocks.

{% for idea in data.shared_ideas[:30] %}
{{ idea.title }} {{ idea.appearances }}x {% for t in idea.types %} {{ t }} {% endfor %}
{% for d in idea.drafts %} {{ d | replace('draft-', '') | truncate(30) }} {% if not loop.last %}|{% endif %} {% endfor %}
{% endfor %}
{% endif %}

Most Prolific Drafts (by idea count)

{% for d in data.top_idea_drafts %} {% endfor %}
# Draft Ideas Score
{{ loop.index }} {{ d.name | replace('draft-', '') | truncate(45) }} {% if d.draft_title %}
{{ d.draft_title | truncate(60) }}
{% endif %}
{{ d.idea_count }} {% if d.score %} {{ d.score | round(2) }} {% else %} -- {% endif %}

Embedding Coverage

{{ data.embed_count }} / {{ data.total }} ({{ data.embed_pct }}%)

To complete missing embeddings, run: ietf embed-ideas. This requires Ollama running locally. Embeddings enable idea similarity search and clustering.

{% endblock %} {% block extra_scripts %} {% endblock %}