diff --git a/README.md b/README.md new file mode 100644 index 0000000..238a5b4 --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# Execution Context Tokens for Distributed Agentic Workflows + +This repository contains **draft-nennemann-wimse-execution-context-00**, an IETF Internet-Draft proposing Execution Context Tokens (ECTs) as an extension to the [WIMSE](https://datatracker.ietf.org/wg/wimse/about/) (Workload Identity in Multi System Environments) architecture. + +## What are ECTs? + +ECTs are signed JWT tokens that record **what** agents did, **in what order**, and **under what policy** -- complementing WIMSE's existing answer to **who** an agent is. + +They provide: + +- **DAG-structured execution proofs** -- task dependencies form a directed acyclic graph with cryptographic ordering guarantees +- **Policy checkpoint recording** -- each decision point records which policy was evaluated and the outcome +- **Immutable audit trails** -- ECTs are appended to a storage-agnostic audit ledger +- **WIMSE integration** -- same signing keys, algorithms, and SPIFFE-based identifiers as WIT/WPT + +Target environments include medtech (FDA audit trails), finance (transaction record-keeping), logistics, and other regulated agentic systems. + +## Repository contents + +| File | Description | +|------|-------------| +| `draft-nennemann-wimse-execution-context-00.md` | The Internet-Draft in kramdown-rfc markdown format | +| `master-prompt.md` | Design rationale, iteration plan, and reference material | + +## Building the draft + +The draft is authored in [kramdown-rfc](https://github.com/cabo/kramdown-rfc) markdown and compiled via the standard IETF toolchain. + +### Prerequisites + +```bash +# Ruby (kramdown-rfc is a Ruby gem) +# On macOS with Homebrew: +brew install ruby + +# kramdown-rfc +gem install kramdown-rfc + +# xml2rfc (Python tool for rendering) +pip install xml2rfc +``` + +### Compile + +```bash +# One-step build (markdown -> XML -> text + HTML) +kdrfc draft-nennemann-wimse-execution-context-00.md + +# Or step by step: +kramdown-rfc2629 draft-nennemann-wimse-execution-context-00.md \ + > draft-nennemann-wimse-execution-context-00.xml + +xml2rfc draft-nennemann-wimse-execution-context-00.xml --text +xml2rfc draft-nennemann-wimse-execution-context-00.xml --html +``` + +### Output files + +After building, you will have: + +- `draft-nennemann-wimse-execution-context-00.xml` -- canonical XML (for IETF datatracker submission) +- `draft-nennemann-wimse-execution-context-00.txt` -- plain text rendering +- `draft-nennemann-wimse-execution-context-00.html` -- HTML rendering + +## Submitting to the IETF + +Upload the generated `.xml` file at https://datatracker.ietf.org/submit/ + +## Author + +Christian Nennemann +Independent Researcher +ietf@nennemann.de + +## License + +This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.