command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/broker.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/oEntjx
launch nice: 19
✔ launch identity is stamped, payload identity is refused and stale holder cannot send (28.160527ms)
✔ decision classes route from policy; gated resolution is human-only, choice and target must match (24.775935ms)
✔ claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic (25.967856ms)
✔ launch events require a human CLI capability; generic emit cannot forge authority events (16.499518ms)
✔ within-role decisions close atomically and invalid options or blocking omissions refuse (17.065443ms)
✔ a recommendation that is not exactly one option key refuses invalid-recommendation after the options (26.77801ms)
✔ observer capabilities read human inbox but cannot mutate or forge launch identity (17.522306ms)
✔ task action subjects and linked decision trail are complete and ordered (26.090635ms)
✔ launch binding is durable and reconnecting requires the identical trusted record (14.123369ms)
✔ business isolation includes inherited object names and cross-business message references (21.72964ms)
✔ authority never transfers between action, target, unresolved or replaced role holder; a later run of the instance keeps it (29.009561ms)
✔ task projection uses schema current view, skipping earlier and equal-start polls (16.831676ms)
✔ revocation permanently bars the old run from reclaiming first, including after broker restart (23.68242ms)
✔ empty message references refuse before storage; refusal-evidence failure stays a typed error (17.253198ms)
✔ both arbiters require human resolution when their cross-role route is themselves (24.127811ms)
✔ the shipped coder role raises task.reassign as gated to the human; task.scope.change stays cross-role (26.31891ms)
ℹ tests 16
ℹ suites 0
ℹ pass 16
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 454.983567
