31 Commits

Author SHA1 Message Date
6e5eba641a Final draft-nennemann-wimse-ect-00 with peer review feedback
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ect-00
2026-02-25 23:26:25 +01:00
bbf557e54b Restructure refimpl into go-lang and python subdirectories
Move Go reference implementation to refimpl/go-lang/ and add new
Python reference implementation in refimpl/python/. Update build.sh
with renamed draft and simplified tool paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 23:11:55 +01:00
ff795c72e6 Implement peer review feedback for draft-nennemann-wimse-ect-00
Address 11 items from peer review:
- Fix area designation from Security to ART (WIMSE is in ART area)
- Switch inp_hash/out_hash to fixed SHA-256 without algorithm prefix,
  matching DPoP (RFC 9449) and WIMSE WPT tth claim patterns
- Add partial DAG verification guidance for unavailable parents
- Add DAG integrity attacks subsection (false parents, pruning, shadow DAGs)
- Add privilege escalation subsection (ECTs are not authorization)
- Add revocation propagation semantics through the DAG
- Add W3C PROV Data Model to Related Work
- Strengthen Txn-Token differentiation with fan-in/convergence bullet
- Add explicit token binding paragraph to replay prevention
- Switch verification step 3 to algorithm allowlist model
- Add par/ext claim naming justification notes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 21:59:16 +01:00
1385ec8af1 Slim down draft to core ECT mechanism for -00 submission
Remove all companion draft (ect-pol) references, regulatory
compliance mappings, pre-defined extension keys, witness concept,
pseudocode blocks, implementation guidance appendix, and redundant
examples. Keep only the core token format, DAG validation,
verification procedure, and one cross-organization use case.
Draft reduced from ~40 pages to 27 pages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 20:30:07 +01:00
47f5f97c90 Rename draft to draft-nennemann-wimse-ect-00
Shorter, cleaner name matching the companion spec naming convention.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:57:24 +01:00
907e823a4d Move use cases section to appendix
Use cases (medtech SDLC, financial trading, logistics) are
motivating examples, not protocol definition. Moving them to
the appendix keeps the normative body focused on format,
transport, validation, and security.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:53:18 +01:00
e62b62ff99 Soften regulatory references in introduction, keep mapping in appendix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:49:06 +01:00
fc4bbdfeca Rename companion spec reference to draft-nennemann-wimse-ect-pol
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:47:44 +01:00
ddc1e3c6c0 Split policy/compensation into companion spec, slim down base ECT
Move all policy evaluation (pol, pol_decision, pol_enforcer) and
compensation claims to I-D.nennemann-wimse-ect-policy-compensation.
Base spec now focuses on execution ordering, DAG structure, and
audit trail. All examples, diagrams, and prose updated accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:38:38 +01:00
a0a3369113 Simplify spec: remove sub, move compensation to ext, add RFC 8126
Restore from pre-linter base (898b0f8) and re-apply targeted
changes to avoid unintended structural rewrites:

- Remove sub claim (always equals iss, adds no information)
- Move compensation_required and compensation_reason to ext keys
- Trim witness attestation section to concise guidance
- Fix ledger-mandatory language in verification step 15 and
  minimal implementation step 5
- Add RFC 8126 to normative references

Policy evaluation claims (pol, pol_decision, pol_enforcer) remain
as registered JWT claims in this spec.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:26:13 +01:00
0a38226b32 Add RFC 8126 to normative references
RFC 8126 (IANA Considerations guidelines) was used inline
but missing from the normative references list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 13:13:00 +01:00
bf0f94ab30 Simplify spec: remove sub, move compensation and policy to ext
- Remove sub claim (always equals iss, added no information)
- Move compensation_required and compensation_reason to ext keys
- Move pol, pol_decision, pol_enforcer to ext keys
- IANA JWT Claims table reduced from 11 to 6 registered claims
- Trim witness attestation section to concise guidance
- Fix remaining ledger-mandatory language in verification
  step 15 and minimal implementation guidance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 12:38:14 +01:00
898b0f8747 Remove non-protocol claims and make ledger optional
Move 6 metadata claims (pol_timestamp, inp_classification,
exec_time_ms, regulated_domain, model_version, witnessed_by)
from registered JWT claims to recommended ext extension keys.
Use short key names for spec-defined extensions.

Make audit ledger explicitly optional: rename pseudocode
parameter from ledger to ect_store, mark architecture diagram
ledger layer as optional, add conditional append logic, and
soften Audit Ledger Interface language.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:35:03 +01:00
d8d1524dac Make SPIFFE ID format recommended, not required for iss claim
Allow any URI scheme for the iss claim (SPIFFE, HTTPS, URN:UUID)
to support non-WIMSE deployments that want DAG tracing without
SPIFFE infrastructure. SPIFFE format remains SHOULD for WIMSE
deployments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:27:34 +01:00
a6d2a955ee Fix extension key prefix: io.wimse -> org.ietf.wimse
Use correct IETF reverse domain notation for spec-defined
extension keys within the ext object.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:21:24 +01:00
ed8a3f17c2 Reduce scope and tighten framing for submission readiness
- Remove Operational Modes section (point-to-point, deferred,
  full ledger) to reduce surface area for a -00 submission
- Trim Ledger Interface to essential properties only, remove
  ledger entry JSON example
- Condense regulatory motivation in Introduction to 2 sentences
  with forward reference to compliance mapping table
- Reframe "cryptographic proof" to "signed, structured records"
  in abstract and introduction to accurately reflect self-assertion
- Make WPT co-presence RECOMMENDED rather than assumed, hedging
  against s2s-protocol evolution; ECT is independently verifiable
  via WIT public key
- Fix broken reference: draft-oauth-transaction-tokens-for-agents
  (not an ietf- WG draft)
- Add jti to all JSON examples (required claim was missing from 9
  of 10 examples)
- Clean up dangling cross-references to removed sections

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:00:36 +01:00
102a120d65 Merge tid into jti and make policy claims optional
- Eliminate the "tid" claim; "jti" now serves as both token ID (for
  replay detection) and task ID (for DAG parent references in "par")
- Make "pol" and "pol_decision" OPTIONAL (must be paired when present)
- Regulated deployments SHOULD still include policy claims
- Reduces required ECT-specific claims to just "exec_act" and "par"
- Remove "tid" from IANA JWT Claims registration
- Update all examples, pseudocode, and DAG validation rules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 22:39:46 +01:00
f9357fdf88 Add WIMSE ECT reference implementation (Go)
- ect library: create, verify, DAG validation, ledger interface
- In-memory ledger and ECTStore for full ledger mode
- Test vectors and unit tests; two-agent demo (cmd/demo)
- README: document refimpl scope and usage

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 22:05:30 +01:00
a263d8c201 Clean up section titles and fix transaction tokens draft reference
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 21:29:29 +01:00
821a7f4570 Add ledger-optional operational modes (point-to-point, deferred, full)
ECTs can now be deployed without a centralized ledger. Three modes
are defined: point-to-point (agents pass parent ECTs inline via HTTP
headers), deferred ledger (collect ECTs in-flight, submit later), and
full ledger (immediate append, RECOMMENDED for regulated environments).

DAG validation is generalized to work against an "ECT store" which
can be either a ledger or the set of inline parent ECTs received in
the request.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:59:49 +01:00
e60035c75b Clarify that policy evaluation mechanics are out of scope
Add paragraph in Policy Claims section explicitly stating that
policy definition, distribution, and evaluation are out of scope.
The pol claim is an opaque identifier; any policy engine may be
used provided outcomes are faithfully recorded.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:21:54 +01:00
de9c7719a4 Add build script and regenerate compiled output
Add build.sh that auto-discovers kramdown-rfc2629 and xml2rfc
regardless of PATH configuration, generates XML, TXT, and HTML
in one step.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:59:39 +01:00
db9d8e52c8 Regenerate HTML rendering with local xml2rfc
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:54:21 +01:00
8615105ce0 Remove duplicate RFC 2119/8174 refs and add compiled output
Remove RFC 2119 and RFC 8174 from normative YAML block since the
BCP 14 boilerplate directive adds them automatically, causing
duplicate reference warnings. Rebuild draft with zero warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:51:45 +01:00
397419d711 Fix dangling RFC 3339 reference and non-reserved example domain
Remove RFC 3339 from normative references (not cited in text;
timestamps use NumericDate per RFC 7519). Change bank.com to
bank.example in compensation use case per RFC 2606.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:57:20 +01:00
d6d44285eb Add SCITT integration section linking wid to Transparency Services
The ECT workflow identifier (wid) can serve as a correlation point
in SCITT Signed Statements, bridging per-step execution accountability
with end-to-end supply chain transparency.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:46:38 +01:00
6676196ea9 Add compiled draft HTML output
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:36:30 +01:00
3595b0d2e2 Add compiled draft output (XML and TXT) and .gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:35:57 +01:00
005509b20c Replace medical device workflow with medtech SDLC use case
Replace the clinical treatment recommendation workflow with a
software development lifecycle (SDLC) workflow covering spec
review, code generation, autonomous testing, build validation,
and HITL release approval. Add FDA audit subsection showing DAG
reconstruction for regulatory evidence review. Update Example 2
in appendix with matching detailed JSON examples for all 5 SDLC
phases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:31:10 +01:00
e581290403 Add README with project overview and build instructions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:01:51 +01:00
a2e4d32ffd Add IETF Internet-Draft: Execution Context Tokens for WIMSE
Initial submission of draft-nennemann-wimse-execution-context-00,
defining Execution Context Tokens (ECTs) as a WIMSE extension for
distributed agentic workflows in regulated environments.

ECTs provide cryptographic proof of task execution order, policy
enforcement decisions, and compliance state using JWT/JWS format
with DAG-structured task dependencies.

Key features:
- 17 new JWT claims for execution context tracing
- Execution-Context HTTP header for token transport
- DAG validation with cycle detection and temporal ordering
- Audit ledger interface specification
- Integration with WIMSE WIT/WPT signing model
- Use cases: medtech, finance, logistics, compensation/rollback

Includes master-prompt.md with design rationale and iteration plan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 05:30:37 +01:00