✔ real retrieve/store/copy reports and disk expiry preserve original acquisition (166.2675ms)
✔ zero retention never writes a managed asset to disk (48.584458ms)
✔ lost acknowledgement retries identical payload and event identity (86.726667ms)
✔ unresolved report deadline blocks dependent use and does not claim completion (80.874167ms)
✔ verified original on-time intake can resolve lost acknowledgement after deadline (130.249625ms)
✔ a truly late collector receipt remains late and cannot silently restore compliance (88.755458ms)
✔ wrong digest, reporter and unverified adapter responses never complete a report (109.1995ms)
✔ slow report transport cannot hold a managed file past its retention timer (106.579834ms)
✔ combined duties take the shortest retention and report deadline (80.344083ms)
✔ attribution output preserves all required distinct names and source links (31.60475ms)
✔ unsupported duties and irreversible or model uses are refused (29.867584ms)
✔ unoffered resources, expired use windows and backwards clocks refuse new operations (33.212042ms)
✔ graceful close deletes unexpired files; fresh session never silently resumes old cache (108.993833ms)
✔ unrelated files and a symlink storage root are not deleted (36.151125ms)
✔ a forged ownership-marker symlink cannot overwrite an unrelated file (44.148916ms)
✔ pending outbox survives reopen with identical bytes, IDs and original deadline (154.672958ms)
✔ verified outcomes survive reopen without inventing another delivery (119.104208ms)
✔ restart disposes of files without renewing retained-copy acquisition or expiry history (172.74125ms)
✔ a slow durable-intent write cannot authorize storage after retention expiry (59.620167ms)
✔ missing and late reporting remain blocking after restart (311.706375ms)
✔ corrupt and mismatched journal bindings fail closed without disposing pending evidence (176.65625ms)
✔ semantically mismatched reports and missing required deliveries reject even with recomputed journal checksum (168.935ms)
✔ a journal with unsafe permissions or an absent journal is never silently reset (61.40325ms)
✔ actual process exit before acknowledgement preserves exact report and retries after restart (155.034625ms)
✔ collector commit followed by process exit and lost ack recovers the original timely outcome (136.961792ms)
✔ crash after disk write but before durable completion leaves uncertainty and never invents a completed report (138.833667ms)
✔ two overlapping stale-lock reclaimers cannot replace each other’s newly live owner (134.130084ms)
✔ an abandoned recovery guard is preserved for explicit recovery, never recursively reclaimed (37.502375ms)
✔ valid native ES256 signature returns exact signed payload bytes (2.079541ms)
✔ reject changed signed binding: protocol_version (0.489792ms)
✔ reject changed signed binding: origin (0.266042ms)
✔ reject changed signed binding: service_id (0.284833ms)
✔ reject changed signed binding: issuer (0.207625ms)
✔ reject changed signed binding: delegation_id (0.1625ms)
✔ reject signature made with unadvertised private key (0.17525ms)
✔ reject changed body with original signature (0.1775ms)
✔ reject wrong algorithm/type/key or self-supplied key header: alg (0.108875ms)
✔ reject wrong algorithm/type/key or self-supplied key header: typ (0.163291ms)
✔ reject wrong algorithm/type/key or self-supplied key header: kid (0.094666ms)
✔ reject wrong algorithm/type/key or self-supplied key header: jwk (0.3455ms)
✔ reject expired key (0.211875ms)
✔ reject future key (0.114916ms)
✔ reject revoked key (0.098334ms)
✔ reject duplicate key identifiers (0.084625ms)
✔ reject wrong signing role (0.094792ms)
✔ reject service capability absent (0.072833ms)
✔ reject delegated capability absent (0.072625ms)
✔ reject private key material in advertised JWK (0.073208ms)
✔ reject signed duplicate JSON binding properties (0.226167ms)
✔ reject noncanonical base64url signature (0.087208ms)
✔ reject unsupported service signature type rather than falling back to receipt capability (0.065542ms)
✔ strict parser keeps exact JSON meaning and rejects ambiguous encodings (1.810042ms)
✔ ES256 verifies exact payload bytes, including significant whitespace (2.278459ms)
✔ JWS rejects attacker signatures, type confusion and unknown keys (1.01975ms)
✔ JWS rejects none, padding, unknown headers and DER instead of P1363 (0.281042ms)
✔ valid metadata requires separately provisioned pin, exact origin and live authority (1.226667ms)
✔ valid signed client report remains a declaration (0.878084ms)
✔ collector cannot change reported bytes or authenticated reporter association (3.573666ms)
✔ collector cannot promote client statements to origin/source assurance (0.966459ms)
✔ self-consistent attacker export cannot replace independent origin trust (0.49375ms)
✔ collector capability, revoked keys and origin references are enforced (2.550125ms)
✔ signed manifest binds selected representation bytes and media type (1.018958ms)
✔ operation counts resist distinct-event duplication, checkpoints and anonymous spoofing (1.851334ms)
✔ same operation with different resource or policy context stays conflicted (6.24925ms)
✔ offline preservation witness detects deletion and reordering of genuine signed records (21.127167ms)
✔ independent wire validator matches 11 shared positive/negative cases (1.529333ms)
✔ write plus checkpoints and cessation count one action (1.404125ms)
✔ exact retries do not inflate counts or reset earliest verified intake (0.566584ms)
✔ independent coverage includes known session missing its start report (0.299ms)
✔ exact deadline is timely while one second later is late (4.460375ms)
✔ absent checkpoint becomes missing only after reporting deadline (0.42825ms)
✔ late wake leaves earlier missing indices and uses original deadline (0.3775ms)
✔ cessation at a checkpoint discharges that boundary only (0.349083ms)
✔ reject unresolved exact write and parent references (0.734375ms)
✔ reject altered authenticated namespace, exact bytes, and retention deadline (1.741875ms)
✔ reject duplicate checkpoint with a different event ID and reopening after cessation (0.82625ms)
✔ custody past expiry remains visible without claiming deletion (0.389375ms)
✔ reports received after as-of cannot hide present missing observations (0.272416ms)
✔ copy parent cannot renew original acquisition despite valid self-consistent child deadline (0.353334ms)
ℹ tests 79
ℹ suites 0
ℹ pass 79
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 3076.370125
