Clicking an author in the network graph opens /drafts?q=AuthorName
but search only checked draft name/title/summary. Now also matches
against author names via a JOIN on draft_authors + authors tables.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Raise co-authorship threshold from 1 to 2 shared drafts (498→156 nodes)
- Tune D3 force parameters for large graphs: capped link strength,
wider distance, adaptive charge, lower velocity decay
- Add initial circular layout to prevent explosion on load
- Fix cluster highlighting with fallback name matching and
position validation before zoom-to-fit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Self-host Tailwind, Plotly, D3.js (no more CDN requests)
- Self-host Inter font (no more Google Fonts requests)
- Replace JetBrains Mono with system monospace font stack
- Zero external requests when visiting the site (GDPR-safe)
- Add /impressum page (§5 TMG, §18 MStV)
- Add /datenschutz page (DSGVO Art. 13/14)
- Hosting: Hetzner, no cookies, no tracking, no analytics
- Add Impressum/Datenschutz links to sidebar footer
- Configure Flask static_folder for local asset serving
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix RFC URLs with leading zeros (rfc0020 -> rfc20) via int filter
- Draft refs: internal link for drafts in our DB, Datatracker for external
- BCP refs: link to rfc-editor.org/info/bcpN
- Add DB connection teardown (@app.teardown_appcontext)
- Fix JS syntax error in gap_demo.html (HTML-escaped string in script tag)
- Add URL encoding to all query params in drafts.html and draft_detail.html
- Fix variable shadowing of Flask's g import in gaps_demo()
- Add None safety for ideas search data attribute
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Tighten idea extraction prompts (1-4 ideas, no sub-features) reducing
1,907 ideas to 468 across 434 drafts (78% reduction)
- Add embedding-based dedup (ietf dedup-ideas) for same-draft similarity
- Add novelty scoring (ietf ideas score) and filtering (ietf ideas filter)
using Claude to rate ideas 1-5, removing 49 generic building blocks
- Final count: 419 high-quality ideas (avg 1.1/draft)
- Web UI: gap explorer with live draft generation and pre-generated demos
- Web UI: D3.js author collaboration network (498 nodes, 1142 edges,
68 clusters, org filtering, interactive zoom/pan)
- Academic paper: 15-page LaTeX workshop paper analyzing the 434-draft
AI agent standards landscape
- Save improvement ideas backlog to data/reports/improvement-ideas.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fixed W3C fetcher to paginate /specifications endpoint (group
endpoints use type prefixes like cg/, wg/ that weren't in config)
- Fetched 72 new IETF drafts + 1 W3C spec, all analyzed and embedded
- Regenerated dashboard with updated data
- Total: 434 docs, 11 gaps, 1907 ideas
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Includes all draft metadata, full text, Claude ratings (cached),
and nomic-embed-text embeddings. This is the expensive data —
~114k tokens of Claude analysis + 260 Ollama embeddings.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Python CLI tool that fetches AI/agent-related Internet-Drafts from the IETF
Datatracker, rates them using Claude, generates embeddings via Ollama for
similarity/clustering, and produces markdown reports.
Features:
- Fetch drafts by keyword from Datatracker API with full text download
- Batch analysis with Claude (token-optimized, responses cached in SQLite)
- Embedding-based similarity search and overlap cluster detection
- Reports: overview, landscape by category, overlap clusters, weekly digest
- SQLite with FTS5 for full-text search across 260 tracked drafts
Initial analysis of 260 drafts reveals OAuth agent auth (13 drafts) and
agent gateway/collaboration (10 drafts) as the most crowded clusters,
while AI safety/alignment is underserved with the highest quality scores.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>