Files
ietf-draft-analyzer/docs/status.md
Christian Nennemann b38747ad92
Some checks failed
CI / test (3.11) (push) Failing after 53s
CI / test (3.12) (push) Failing after 41s
fix: refimpl hash format aligned to -01 spec, draft rebuilt
Updated Go ValidateHashFormat to plain base64url (no algorithm prefix)
per -01 spec and RFC 9449. Python already fixed. All tests pass.
2026-04-11 17:51:50 +02:00

82 lines
3.9 KiB
Markdown

# research.ietf — Status
## 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