Appendix Q. Thirty-two corrective runtime and release conformance fixtures
These fixture IDs continue after Appendix M. Exact fixture bundles provide setup records, canonical input bytes, keys where safe, policy/registry locks, expected codes, output bytes/digests, SQL state, event sequence, and projection state.
Concept & directionLNK
These fixture IDs continue after Appendix M. Exact fixture bundles provide setup records, canonical input bytes, keys where safe, policy/registry locks, expected codes, output bytes/digests, SQL state, event sequence, and projection state.
#Q1. Ledger, receipt, event, and idempotency
| ID | Scenario | Expected code or result |
|---|---|---|
| T-297 | Two streams append concurrently to one logical shard. | One gap-free commitSequence and one contiguous receipt chain. |
| T-298 | Transaction rolls back after provisional commit-sequence computation. | ShardHead does not advance; no committed gap. |
| T-299 | Lower commit remains open while a higher append races. | Higher append waits on ShardHead. |
| T-300 | Publisher crashes after broker acknowledgement. | Same event ID/bytes redelivered; consumer applies once. |
| T-301 | Consumer receives noncontiguous commitSequence. | Halt with RTR-EVENT-COMMIT-GAP. |
| T-302 | Logical shard handoff lacks signed bridge. | Reject with RTR-LEDGER-SHARD-HANDOFF. |
| T-303 | Retry changes expected sequence only. | Idempotency equivocation. |
| T-304 | Retry changes detached proof set only. | Idempotency equivocation. |
| T-305 | Unknown-result resolution occurs under another principal. | Non-leaking denial. |
| T-306 | Same record ID/digest is submitted under another key and stream. | Placement conflict; no second append. |
#Q2. Proof, checkpoint, cursor, and replay
| ID | Scenario | Expected code or result |
|---|---|---|
| T-307 | Proof signer field changes without resigning. | RTR-PROOF-TARGET-MISMATCH. |
| T-308 | Proof creation time or key epoch changes. | Invalid proof. |
| T-309 | COSE protected algorithm disagrees with ProofTarget. | RTR-PROOF-ALGORITHM-CONFUSION. |
| T-310 | Receipt store identity changes after proof. | Invalid store proof. |
| T-311 | Merkle implementation duplicates odd leaf. | Golden-root mismatch. |
| T-312 | CloudEvents shard/sequence differs from canonical event. | Quarantine envelope. |
| T-313 | Cursor plaintext exposes a private sort value. | Privacy conformance failure. |
| T-314 | Cursor crosses projection code generation. | Reject and restart query. |
| T-315 | Cross-shard deliveries are permuted. | Same declared deterministic reduction digest. |
| T-316 | Empty projection starts from restored nonzero checkpoint. | Recovery blocked. |
| T-317 | Replay encounters lawful erasure tombstone. | Qualified NON_REPRODUCIBLE_BY_POLICY result. |
| T-318 | Legacy ledger is sealed and bridged. | First v1.4 receipt verifies bridge. |
| T-319 | Legacy receipt chain fails pre-cutover audit. | Migration blocked; incident opened. |
#Q3. Control, dispatch, and executable release proof
| ID | Scenario | Expected code or result |
|---|---|---|
| T-320 | Lease clock ID matches but arbiter boot ID differs. | Reject before actuator. |
| T-321 | Persisted authority epoch rolls backward after reboot. | Latch SAFE. |
| T-322 | Exact command duplicate arrives twice. | One actuator application; original disposition returned. |
| T-323 | Same command sequence carries a different setpoint. | Equivocation; fence controller. |
| T-324 | Command sequence gap occurs under STRICT_CONTIGUOUS policy. | Reject and invoke fallback. |
| T-325 | Command is admitted but feedback times out. | Admission retained; execution UNKNOWN_FEEDBACK. |
| T-326 | Two workers consume one dispatch nonce. | Exactly one enters DISPATCHING. |
| T-327 | Social-agent runtime submits an R5 action. | Action type is structurally unavailable. |
| T-328 | Fixture manifest omits input or golden artifact. | Release gate fails. |
Existing fixtures T-010, T-057, T-058, T-234, T-243, and T-253 are interpreted under the v1.4 proof target, commit sequence, shard head, confidential cursor, and replay rules when a v1.4 profile is declared.