Updated Go ValidateHashFormat to plain base64url (no algorithm prefix) per -01 spec and RFC 9449. Python already fixed. All tests pass.
3.9 KiB
3.9 KiB
research.ietf — Status
2026-04-11 — Refimpl -01 hash format fix + draft rebuild
What was done
- Go
ValidateHashFormatupdated to -01 spec: Was still validating oldalgorithm:base64urlformat (e.g.sha-256:abc...). Now validates plain base64url without prefix, matching -01 spec and RFC 9449. - Go
ErrHashFormaterror message updated to match new format. - IMPROVEMENTS.md updated: Section 5 and section 6 hash format entries corrected.
- Draft rebuilt:
build.shrun withkramdown-rfc2629(freshly installed) andxml2rfc. XML/TXT/HTML regenerated. - 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
- Blog post outdated claim names (FIXED):
par->pred,ext->ect_extinblog-ect-assurance-levels.md - Refimpl README outdated (FIXED): Added migration note documenting -00 vs -01 claim name changes, updated specification references
- Refimpl IMPROVEMENTS.md (FIXED): Added section 6 documenting all -01 migration tasks needed
Outstanding Issues
- Refimpl not updated to -01: Reference implementations (Go + Python) still use -00 claim names (
parinstead ofpred,pol/pol_decisioninstead ofect_ext,subnot in spec). This is the biggest gap before submission. - Build tooling:
kramdown-rfc2629not installed in this environment. Need Ruby gem to rebuild from markdown. - Date stale: XML was built 2026-03-06. Needs rebuild before submission.
- 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)
- P0: Update refimpl to -01 claim names (pred, ect_ext, exec+jwt typ)
- P0: Install kramdown-rfc2629 and rebuild draft with current date
- P1: Submit -01 to IETF datatracker (upload XML)
- P1: Publish blog post about assurance levels
- P2: Consider WIMSE mailing list introduction
- P2: Run updated pipeline on 101 unprocessed drafts