Source: Estate Lawful-Learning (Rev B) conformance audit, 2026-08-02 — Invariant 6. Report: https://github.com/SocioProphet/socioprophet-seed-deck/blob/feat/assumption-reconciliation/LAWFUL-LEARNING-CONFORMANCE.md
Gap (G3)
Rev B §5.6/§6.2 mandate a Merkle DAG under vector clocks with no global time function (concurrent events must remain incomparable, not linearised). agent-machine's forensic layer is the opposite: a linear receipt chain — docs/architecture/receipt-chain.md; auditLedger with ledgerRequired const true + a single hashAlgorithm (contracts/artifact-boundary.schema.json); capabilityLedgerRef; a single parentSnapshotId. No vector clocks, no multi-parent DAG, no concurrent-event model.
Decision required first — this repo may legitimately declare INV6 N/A
agent-machine is a deployment/orchestration control plane, not a multi-observer epistemic engine. Under remediation R3 (fail-closed conformance gate), a repo may declare an invariant N/A rather than implement it — but the absence must be declared, not silent. So choose ONE:
- (A) Declare N/A: add a conformance declaration stating INV6 is N/A because agent-machine records a single-writer deployment receipt log, not a multi-observer ledger. (Recommended if there is only ever one writer per node.)
- (B) Implement: if receipts from concurrent nodes/pods are ever merged into one ledger, replace the linear chain with a multi-parent DAG node
N = H(payload ∥ VC ∥ sort(parents)) + vector clocks over the node set. Reference implementation: SocioProphet/prophet-mesh pkg_ops.py content-hash DAG (occurredAt "never trusted for ordering").
Acceptance
Source: Estate Lawful-Learning (Rev B) conformance audit, 2026-08-02 — Invariant 6. Report: https://github.com/SocioProphet/socioprophet-seed-deck/blob/feat/assumption-reconciliation/LAWFUL-LEARNING-CONFORMANCE.md
Gap (G3)
Rev B §5.6/§6.2 mandate a Merkle DAG under vector clocks with no global time function (concurrent events must remain incomparable, not linearised). agent-machine's forensic layer is the opposite: a linear receipt chain —
docs/architecture/receipt-chain.md;auditLedgerwithledgerRequired const true+ a singlehashAlgorithm(contracts/artifact-boundary.schema.json);capabilityLedgerRef; a singleparentSnapshotId. No vector clocks, no multi-parent DAG, no concurrent-event model.Decision required first — this repo may legitimately declare INV6 N/A
agent-machine is a deployment/orchestration control plane, not a multi-observer epistemic engine. Under remediation R3 (fail-closed conformance gate), a repo may declare an invariant N/A rather than implement it — but the absence must be declared, not silent. So choose ONE:
N = H(payload ∥ VC ∥ sort(parents))+ vector clocks over the node set. Reference implementation:SocioProphet/prophet-meshpkg_ops.pycontent-hash DAG (occurredAt"never trusted for ordering").Acceptance
epoch/wall-clock timestamp is used for ordering in the receipt path.