Reference
Turn
One signed revision event.
A turn is the unit of agent document work. The signed body says what happened; the wrapper makes it verifiable and chains it to everything before it.
| Field | Type | What it is |
|---|---|---|
body | object | The event itself. Fields below. |
bodyHash | string | SHA-256 of the canonical body. |
signature | object | keyId, algorithm, value, signedAt. The key must be in the manifest. |
turnHash | string | Hash of body plus signature. The next turn chains to this. |
Body fields
| Field | Type | What it is |
|---|---|---|
schemaVersion | integer | Wire schema version. |
sessionId | string | Must match the manifest. |
manifestHash | string | Hash of the manifest this turn was made under. Swap the manifest, verification fails. |
turnId | string | Unique in the record. Duplicates are rejected. |
sequence | integer | Position in the ledger, starting at 0. |
previousTurnHash | string | null | The chain. null only on the first turn. |
authorPartyId | string | Which party acted. |
createdAt | string | ISO 8601 timestamp. |
anchorId | string | Where in the document this applies. |
clauseTopic | string | What it is about, from the manifest's topic lists. |
decision | object | kind plus a one-line summary. Kinds: propose, counter, accept, reject, escalate. |
authority | object | Why this was allowed. Below. |
proposedText · | string | The text being proposed, when there is one. |
visibleArtifacts | array | What humans see. Below. |
Authority
Two kinds in v0.1:
{ "kind": "direct-party-signature" }- a party acting for itself.{ "kind": "human-approved-agent-draft", "mandateId": "...", "approval": {...} }- an agent's work, carrying the human approval that authorized it.
Visible artifacts
Each artifact maps the record back to something a human sees in the document: kind is comment, insert, delete, or replace, with the anchorId, authorPartyId, and the text itself. Native Word ids are optional hints, never required for verification.