WorkSession-scoped mutation headers
Every WorkSession-scoped mutating operation uses the HostAuth security scheme and requires these protocol headers. Hosts own the authentication system.
Jarvis-Protocol-Version
Jarvis-Actor-Id
Jarvis-Idempotency-Key
Jarvis-Request-Timestamp
Jarvis-Expected-WorkSession-Revision
Jarvis-Previous-Event-Hash
WorkSession genesis rule
createWorkSession is the genesis WorkSession mutation. Compatible implementations MUST require Jarvis-Expected-WorkSession-Revision set to 0 and Jarvis-Previous-Event-Hash set to hash:protocol-genesis.
The accepted WorkSession snapshot starts as active at revision 1 with first event type work_session.created.
Non-WorkSession mutation headers
Worker registration, Actor registration, and OutcomeReport submission use the HostAuth security scheme and require the non-WorkSession mutation header set. Hosts own the authentication system.
Jarvis-Protocol-Version
Jarvis-Actor-Id
Jarvis-Idempotency-Key
Jarvis-Request-Timestamp
They MUST NOT require fake WorkSession revision or previous event hash values.
Read and export headers
WorkSession-scoped read operations and EvidenceManifest export reads use the HostAuth security scheme and require Jarvis-Protocol-Version and Jarvis-Actor-Id. Hosts own the authentication system.
Read and export operations MUST NOT require mutation-only idempotency, expected revision, or previous event hash headers.
Accepted state checks
Actor
Every accepted state change records the Actor and verifies authority.
Body match
Actor-bearing mutation bodies match Jarvis-Actor-Id.
Revision
WorkSession-scoped mutation checks the current revision against Jarvis-Expected-WorkSession-Revision.
Hash chain
WorkSession-scoped mutation links to Jarvis-Previous-Event-Hash.
Rejection rules
- The protocol rejects missing protocol version, Actor, idempotency key, timestamp, expected revision, or previous event hash when required.
- The protocol rejects stale request timestamp, stale WorkSession revision, previous event hash mismatch, unauthorized Actor, and Actor mismatch.
- The protocol rejects forbidden host-private fields in portable records and exports.
- The protocol rejects sealed WorkSession and EvidenceManifest mutation.