Files
ietf-draft-analyzer/docs/status.md
Christian Nennemann 6538cbebaf
Some checks failed
CI / test (3.11) (push) Failing after 9s
CI / test (3.12) (push) Failing after 9s
docs(status): log 2026-05-22 deployment + data refresh
2026-05-22 12:28:53 +02:00

5.1 KiB

research.ietf — Status

2026-05-22 — Deployed at ietf.nennemann.de + full data refresh

What was done

  • Deployed the Flask dashboard to nennemann-dev behind Caddy: https://ietf.nennemann.de (basic_auth vorschau, noindex, production mode). Docker dev-ietf-1 on :8082:5000, data dir mounted read-write. Dockerfile fixed to bind 0.0.0.0. Infra in nennemann-biz/infra/dev (compose + Caddy vhost).
  • Data refresh (first since 2026-03-08): 761→889 drafts. Full Sonnet pipeline (rate/embed/ideas/score/gaps/convergence). Live stats: 816 relevant, 722 authors, 973 ideas, 18 gaps, 170 convergent. Fresh drafts.db synced to server.
  • New tool: scripts/backfill-unrated-text.py (fetch leaves new drafts without full text — rev-suffix issue).
  • Bug fix: db.insert_gaps() now FK-safe (was a blanket DELETE FROM gaps).

Next / open

  • Refresh procedure documented in workspace docs/services.md (sync only drafts.db; analytics.db is server-owned).
  • ANTHROPIC_API_KEY shell env was stale — use the key in .env.
  • Optional: schedule recurring refresh (scripts/scheduled-update.sh) if desired.
  • 16 drafts yielded no extractable ideas (short/non-technical) — expected, left as-is.

2026-04-11 — Refimpl -01 hash format fix + draft rebuild

What was done

  1. Go ValidateHashFormat updated to -01 spec: Was still validating old algorithm:base64url format (e.g. sha-256:abc...). Now validates plain base64url without prefix, matching -01 spec and RFC 9449.
  2. Go ErrHashFormat error message updated to match new format.
  3. IMPROVEMENTS.md updated: Section 5 and section 6 hash format entries corrected.
  4. Draft rebuilt: build.sh run with kramdown-rfc2629 (freshly installed) and xml2rfc. XML/TXT/HTML regenerated.
  5. All tests pass: Python (56 tests, 90% coverage), Go (all pass).

Claim name migration summary (-00 to -01)

All claim name changes were already implemented in core library code (types, create, verify, dag) for both Go and Python:

Change Status
par -> pred Done (both)
pol/pol_decision removed from core, moved to ect_ext Done (both)
sub removed Done (both)
typ: wimse-exec+jwt -> exec+jwt (preferred) Done (both)
MaxParLength -> MaxPredLength Done (both)
Hash format: algorithm:base64url -> plain base64url Fixed in this session (Go was still using old format)

Remaining items (not claim name changes)

  • L1 support (unsigned JSON ECTs) — not yet implemented
  • L3 support (audit ledger hash chain + receipts) — not yet implemented

2026-04-03 — Draft Assessment and Cleanup

Current State

Primary draft: draft-nennemann-wimse-ect-01 (Execution Context Tokens for Distributed Agentic Workflows)

  • Location: workspace/drafts/ietf-wimse-ect/
  • Format: kramdown-rfc markdown, 1839 lines
  • Rendered: 43 pages (TXT), XML and HTML available
  • Last build: 2026-03-06

Draft Quality Assessment

The -01 draft is structurally complete and IETF-compliant:

  • All required sections present: Abstract, Introduction, Conventions/Definitions, Security Considerations, Privacy Considerations, IANA Considerations, References (normative + informative)
  • BCP 14 (RFC 2119/8174) boilerplate included
  • IANA registrations complete: 2 media types, 1 HTTP header field, 6 JWT claims
  • 3 use cases in appendix (L1, L2, L3)
  • Comprehensive Related Work section (WIMSE, OAuth, TxnTokens, OpenTelemetry, PROV, SCITT, RATS, emerging agent protocols)
  • No TODOs/FIXMEs/TBDs in the draft

Issues Found and Fixed

  1. Blog post outdated claim names (FIXED): par -> pred, ext -> ect_ext in blog-ect-assurance-levels.md
  2. Refimpl README outdated (FIXED): Added migration note documenting -00 vs -01 claim name changes, updated specification references
  3. Refimpl IMPROVEMENTS.md (FIXED): Added section 6 documenting all -01 migration tasks needed

Outstanding Issues

  1. Refimpl not updated to -01: Reference implementations (Go + Python) still use -00 claim names (par instead of pred, pol/pol_decision instead of ect_ext, sub not in spec). This is the biggest gap before submission.
  2. Build tooling: kramdown-rfc2629 not installed in this environment. Need Ruby gem to rebuild from markdown.
  3. Date stale: XML was built 2026-03-06. Needs rebuild before submission.
  4. Other draft workspace: workspace/drafts/ contains 7 other draft directions (gap-analysis, agent-context-policy, new-drafts, etc.) — none are as mature as the ECT draft.

Analyzer Status

  • 475 drafts fetched, 361 relevant after false-positive filtering
  • 713 authors, 501 ideas, 132 cross-org convergent ideas, 12 gaps
  • Web UI and blog series functional
  • Pipeline: v0.3.0 publication-ready

Next Steps (Priority Order)

  1. P0: Update refimpl to -01 claim names (pred, ect_ext, exec+jwt typ)
  2. P0: Install kramdown-rfc2629 and rebuild draft with current date
  3. P1: Submit -01 to IETF datatracker (upload XML)
  4. P1: Publish blog post about assurance levels
  5. P2: Consider WIMSE mailing list introduction
  6. P2: Run updated pipeline on 101 unprocessed drafts