# 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
