✔ launch identity is stamped, payload identity is refused and stale holder cannot send (218.462729ms) ✔ decision classes route from policy; gated resolution is human-only, choice and target must match (354.617189ms) ✔ claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic (372.926296ms) ✔ launch events require a human CLI capability; generic emit cannot forge authority events (341.363704ms) ✔ within-role decisions close atomically and invalid options or blocking omissions refuse (411.683699ms) ✔ observer capabilities read human inbox but cannot mutate or forge launch identity (224.338178ms) ✔ task action subjects and linked decision trail are complete and ordered (286.770879ms) ✔ launch binding is durable and reconnecting requires the identical trusted record (105.276106ms) ✔ business isolation includes inherited object names and cross-business message references (250.798968ms) ✔ authority never transfers between action, run, target, unresolved or replaced role holder (321.819141ms) ✔ task projection uses schema current view, skipping earlier and equal-start polls (171.819022ms) ✔ revocation permanently bars the old run from reclaiming first, including after broker restart (245.21846ms) ✔ empty message references refuse before storage; refusal-evidence failure stays a typed error (166.700792ms) ✔ both arbiters require human resolution when their cross-role route is themselves (551.393275ms) ✔ S1 adapter takes resolved limits and refs, rejects mismatched instance, never mutates input (2.910974ms) ✔ only validated broker references load; returned data and exceptions cannot expose a known token (6.240569ms) ✔ bad file modes, symlinks, repository/data paths, malformed tokens and missing dates refuse (4.336874ms) ✔ expiry refuses use and env references never become client data (1.121475ms) ✔ S1 parsed service refs work, service mismatch refuses, Gitea rotation due is a warning state (1.869207ms) ✔ opaque tokens shorter than 16 characters refuse before use (0.473295ms) ✔ endLaunch writes session.ended, releases the run claim and kills its capabilities (177.605913ms) ✔ endLaunch refuses an unknown run, a second end and a rebind of the ended run (157.34579ms) ✔ a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound (223.974661ms) ✔ endLaunch leaves a claim another run took alone (230.499229ms) ✔ refuse records action.refused against the caller with the code only (165.998253ms) ✔ launches off refuses role.launch with launch-revoked until launches on (357.816434ms) ✔ broker process: launch ops authorize role.launch, record refusals and end runs (509.594782ms) ✔ human proof binds CLI entry, process start and nonce; agents and incomplete ancestry refuse (3.480324ms) ✔ process reader gets own kernel identity without exposing environment values (1.983378ms) ✔ EACCES ancestor environments skip only markers; commands and registered launches still refuse (1.217437ms) ✔ real pid 1 remains inspectable when its environment is protected (0.490238ms) ✔ within-role sends cite an open gated launch decision without spending it or naming it in grants (240.336247ms) ✔ missing and foreign-business citations refuse and roll back message and grant (245.838541ms) ✔ cross-role sends still need a matching resolved decision and consume it once (363.752707ms) ✔ broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly (237.775427ms) ✔ startup token refusal returns safe code without value or partial listening broker (44.4025ms) ✔ loaded fixture token is absent from socket replies and SQLite, including refusal evidence (229.876291ms) ✔ killed broker leaves an explicit stale lock; another process cannot silently reclaim it (236.471994ms) ✔ trusted host registers later launches; socket clients never have a registration verb (327.76203ms) ✔ runtime excludes declared project roots even when host supplies no repoRoots (50.018254ms) ✔ a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it (273.066116ms) ✔ v3b prototype refusals, views and append-only mutations (1741.541512ms) ✔ gated approval authorizes once, survives store reopen, and fresh approval works (332.044052ms) ✔ another run cannot consume an approval; a failed check leaves it usable (332.679389ms) ✔ two scheduled callers have exactly one grant and one consumed refusal (230.939095ms) ✔ failed commit rolls consumption back; cross-role consumes and within-role stays reusable (660.797841ms) ✔ class drift gated to cross-role refuses before consumption (327.332719ms) ✔ class drift cross-role to gated refuses before consumption (315.671233ms) ✔ class drift gated to within-role refuses before consumption (268.976252ms) ✔ class drift cross-role to within-role refuses before consumption (275.814754ms) ✔ class drift within-role to gated refuses before consumption (197.24665ms) ✔ class drift within-role to cross-role refuses before consumption (235.493369ms) ✔ message.send consumes approval and prevents a later send or authorize (266.078196ms) ✔ role.revoke consumes approval and prevents a later revoke or authorize (572.874238ms) ✔ creates private WAL store and excludes a second writer until explicit close (168.224993ms) ✔ rollback is atomic and schema metadata is checked against trusted DDL, not just itself (216.05144ms) ✔ existing empty database and symlink runtime directory refuse, never initialize over damage (278.084495ms) ✔ crash during a transaction recovers no partial event after explicit fixture-only lock removal (221.900704ms) ✔ writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers (231.193074ms) ✔ async transactions refuse before invoking their function (135.418981ms) ✔ recordTask keeps sync reads and a role write apart (236.70867ms) ✔ read_at must be one canonical UTC format, so the projection compares strings safely (139.263599ms) ✔ a bad entry refuses the whole record (145.9625ms) ✔ taskView reads the projection for one business (193.964985ms) ✔ requestTask hands only a holder and a task verb to the handler, and records refusals (417.685322ms) ✔ the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous (532.771002ms) ✔ without an adapter the server refuses every task verb (337.290883ms) ✔ the runtime refuses an invalid adapter and closes a valid one (234.789318ms) ✔ the process loads the S3 adapter from plain-data trackers (333.283191ms) ✔ socket capability stamps launch identity; shared views use wire, no SQL client (205.046759ms) ✔ two wire claims serialize; a lost reply never automatically retries (231.29236ms) ✔ malformed, oversized and identity-forging envelopes refuse without echoing input (186.135632ms) ✔ client preserves UTF-8 when a response divides a multibyte character (12.872512ms) ✔ committed mutation followed by dropped reply reports unknown and is never retried (198.89444ms) ℹ tests 74 ℹ suites 0 ℹ pass 74 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 4131.258628