Files
stack/agents/gander/work/queue-278/run2/whole-controller.log

6936 lines
288 KiB
Plaintext

TAP version 13
# Subtest: REQ-LIMIT-4 3h copy migrates to 3i: every row keeps its seq, the sequence carries over, and only the account CHECK changes
ok 1 - REQ-LIMIT-4 3h copy migrates to 3i: every row keeps its seq, the sequence carries over, and only the account CHECK changes
---
duration_ms: 142.081585
type: 'test'
...
# Subtest: REQ-LIMIT-4 a 3h→3i step that fails partway leaves the store at 3h with every row, the sequence and the schema intact
ok 2 - REQ-LIMIT-4 a 3h→3i step that fails partway leaves the store at 3h with every row, the sequence and the schema intact
---
duration_ms: 176.744103
type: 'test'
...
# Subtest: REQ-LIMIT-4 the 3h engine refuses a migrated store, migrating or not, and leaves it as it was
ok 3 - REQ-LIMIT-4 the 3h engine refuses a migrated store, migrating or not, and leaves it as it was
---
duration_ms: 163.237134
type: 'test'
...
# Subtest: agents: a held role with nothing on the bus is idle; a role session gets the claim rows unchanged
ok 4 - agents: a held role with nothing on the bus is idle; a role session gets the claim rows unchanged
---
duration_ms: 41.804166
type: 'test'
...
# Subtest: agents: working counts what the holder received and has not read; routed alone is not working
ok 5 - agents: working counts what the holder received and has not read; routed alone is not working
---
duration_ms: 36.288077
type: 'test'
...
# Subtest: agents: input needed is the role's open decisions routed to the human, gated first, then oldest
ok 6 - agents: input needed is the role's open decisions routed to the human, gated first, then oldest
---
duration_ms: 61.822709
type: 'test'
...
# Subtest: agents: working wins over waiting, and Input needed still shows
ok 7 - agents: working wins over waiting, and Input needed still shows
---
duration_ms: 30.738559
type: 'test'
...
# Subtest: agents: a new holder doesn't inherit what the last one left unread; decisions stay with the role
ok 8 - agents: a new holder doesn't inherit what the last one left unread; decisions stay with the role
---
duration_ms: 37.713869
type: 'test'
...
# Subtest: agents: state reads only its own business, even for a run name both use
ok 9 - agents: state reads only its own business, even for a run name both use
---
duration_ms: 36.74498
type: 'test'
...
# Subtest: agents: a message the holder released unread is stranded; the next holder gets nothing and cannot read it
ok 10 - agents: a message the holder released unread is stranded; the next holder gets nothing and cannot read it
---
duration_ms: 41.894782
type: 'test'
...
# Subtest: agents: a message the holder read is not stranded; one the current holder has not read is not listed
ok 11 - agents: a message the holder read is not stranded; one the current holder has not read is not listed
---
duration_ms: 37.329952
type: 'test'
...
# Subtest: agents: stranded is oldest first and capped at 50 for a role
ok 12 - agents: stranded is oldest first and capped at 50 for a role
---
duration_ms: 158.445831
type: 'test'
...
# Subtest: agents: stranded is per role and per business
ok 13 - agents: stranded is per role and per business
---
duration_ms: 71.107013
type: 'test'
...
# Subtest: agents: a message routed to a held role and not yet received is not stranded
ok 14 - agents: a message routed to a held role and not yet received is not stranded
---
duration_ms: 23.784785
type: 'test'
...
# Subtest: REQ-DEC an approval outlives its run and a broker restart; a new run of the instance consumes it once
ok 15 - REQ-DEC an approval outlives its run and a broker restart; a new run of the instance consumes it once
---
duration_ms: 63.187231
type: 'test'
...
# Subtest: REQ-DEC another instance of the same definition cannot consume an approval, and its refusal consumes nothing
ok 16 - REQ-DEC another instance of the same definition cannot consume an approval, and its refusal consumes nothing
---
duration_ms: 30.086653
type: 'test'
...
# Subtest: REQ-DEC REQ-THREAD-1 a thread approval is consumed only by a run holding the same thread
ok 17 - REQ-DEC REQ-THREAD-1 a thread approval is consumed only by a run holding the same thread
---
duration_ms: 43.751263
type: 'test'
...
# Subtest: REQ-DEC a later run of the same instance supersedes an open decision; another instance cannot
ok 18 - REQ-DEC a later run of the same instance supersedes an open decision; another instance cannot
---
duration_ms: 44.608117
type: 'test'
...
# Subtest: REQ-DEC REQ-THREAD-1 a thread decision is superseded only from the same thread
ok 19 - REQ-DEC REQ-THREAD-1 a thread decision is superseded only from the same thread
---
duration_ms: 47.81743
type: 'test'
...
# Subtest: REQ-DEC REQ-THREAD-1 a thread instance decision raised before row 121 is not consumed or superseded by any thread run
ok 20 - REQ-DEC REQ-THREAD-1 a thread instance decision raised before row 121 is not consumed or superseded by any thread run
---
duration_ms: 58.864641
type: 'test'
...
# Subtest: launch identity is stamped, payload identity is refused and stale holder cannot send
ok 21 - launch identity is stamped, payload identity is refused and stale holder cannot send
---
duration_ms: 40.600626
type: 'test'
...
# Subtest: decision classes route from policy; gated resolution is human-only, choice and target must match
ok 22 - decision classes route from policy; gated resolution is human-only, choice and target must match
---
duration_ms: 43.764466
type: 'test'
...
# Subtest: claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic
ok 23 - claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic
---
duration_ms: 46.163426
type: 'test'
...
# Subtest: launch events require a human CLI capability; generic emit cannot forge authority events
ok 24 - launch events require a human CLI capability; generic emit cannot forge authority events
---
duration_ms: 31.043087
type: 'test'
...
# Subtest: within-role decisions close atomically and invalid options or blocking omissions refuse
ok 25 - within-role decisions close atomically and invalid options or blocking omissions refuse
---
duration_ms: 33.300408
type: 'test'
...
# Subtest: a recommendation that is not exactly one option key refuses invalid-recommendation after the options
ok 26 - a recommendation that is not exactly one option key refuses invalid-recommendation after the options
---
duration_ms: 51.124669
type: 'test'
...
# Subtest: observer capabilities read human inbox but cannot mutate or forge launch identity
ok 27 - observer capabilities read human inbox but cannot mutate or forge launch identity
---
duration_ms: 28.839442
type: 'test'
...
# Subtest: task action subjects and linked decision trail are complete and ordered
ok 28 - task action subjects and linked decision trail are complete and ordered
---
duration_ms: 45.826742
type: 'test'
...
# Subtest: launch binding is durable and reconnecting requires the identical trusted record
ok 29 - launch binding is durable and reconnecting requires the identical trusted record
---
duration_ms: 21.645168
type: 'test'
...
# Subtest: business isolation includes inherited object names and cross-business message references
ok 30 - business isolation includes inherited object names and cross-business message references
---
duration_ms: 34.868608
type: 'test'
...
# Subtest: authority never transfers between action, target, unresolved or replaced role holder; a later run of the instance keeps it
ok 31 - authority never transfers between action, target, unresolved or replaced role holder; a later run of the instance keeps it
---
duration_ms: 50.443869
type: 'test'
...
# Subtest: task projection uses schema current view, skipping earlier and equal-start polls
ok 32 - task projection uses schema current view, skipping earlier and equal-start polls
---
duration_ms: 33.698831
type: 'test'
...
# Subtest: revocation permanently bars the old run from reclaiming first, including after broker restart
ok 33 - revocation permanently bars the old run from reclaiming first, including after broker restart
---
duration_ms: 47.535074
type: 'test'
...
# Subtest: empty message references refuse before storage; refusal-evidence failure stays a typed error
ok 34 - empty message references refuse before storage; refusal-evidence failure stays a typed error
---
duration_ms: 39.467068
type: 'test'
...
# Subtest: both arbiters require human resolution when their cross-role route is themselves
ok 35 - both arbiters require human resolution when their cross-role route is themselves
---
duration_ms: 44.658041
type: 'test'
...
# Subtest: the shipped coder role raises task.reassign as gated to the human; task.scope.change stays cross-role
ok 36 - the shipped coder role raises task.reassign as gated to the human; task.scope.change stays cross-role
---
duration_ms: 48.794186
type: 'test'
...
# Subtest: S1 adapter takes resolved limits and refs, rejects mismatched instance, never mutates input
ok 37 - S1 adapter takes resolved limits and refs, rejects mismatched instance, never mutates input
---
duration_ms: 4.074071
type: 'test'
...
# Subtest: channel conversion preserves the four proof/transport byte baselines and modules cannot import a proof caller
ok 38 - channel conversion preserves the four proof/transport byte baselines and modules cannot import a proof caller
---
duration_ms: 2.001316
type: 'test'
...
# Subtest: channel recovery still requires the same shim path and rejects an absent or forged proof
ok 39 - channel recovery still requires the same shim path and rejects an absent or forged proof
---
duration_ms: 619.7118
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: REQ-COS-1, REQ-ROLE-2: the chief of staff ends a run with a reason and no decision, and the reason is logged
ok 40 - REQ-COS-1, REQ-ROLE-2: the chief of staff ends a run with a reason and no decision, and the reason is logged
---
duration_ms: 50.964404
type: 'test'
...
# Subtest: REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke
ok 41 - REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke
---
duration_ms: 58.058022
type: 'test'
...
# Subtest: REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither
ok 42 - REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither
---
duration_ms: 41.114664
type: 'test'
...
# Subtest: REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path
ok 43 - REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path
---
duration_ms: 43.725182
type: 'test'
...
# Subtest: REQ-ROLE-2: a role without role.end still ends a run through a resolved decision, which is recorded and has no reason
ok 44 - REQ-ROLE-2: a role without role.end still ends a run through a resolved decision, which is recorded and has no reason
---
duration_ms: 45.9727
type: 'test'
...
# Subtest: REQ-ROLE-2: a reason is required, bounded, and never sent with a decision
ok 45 - REQ-ROLE-2: a reason is required, bounded, and never sent with a decision
---
duration_ms: 47.699752
type: 'test'
...
# Subtest: REQ-COS-1: the chief of staff cannot end its own run; its end of the assistant stops the assistant's thread run
ok 46 - REQ-COS-1: the chief of staff cannot end its own run; its end of the assistant stops the assistant's thread run
---
duration_ms: 51.18408
type: 'test'
...
# Subtest: REQ-LIMIT-1, REQ-COS-1: organization.set from the chief of staff reaches the shared writer, named as the actor
ok 47 - REQ-LIMIT-1, REQ-COS-1: organization.set from the chief of staff reaches the shared writer, named as the actor
---
duration_ms: 47.10417
type: 'test'
...
# Subtest: REQ-LIMIT-1, REQ-COS-1: a refused organization.set logs action.refused and no action.allowed, like a refused limits.set
ok 48 - REQ-LIMIT-1, REQ-COS-1: a refused organization.set logs action.refused and no action.allowed, like a refused limits.set
---
duration_ms: 60.891529
type: 'test'
...
# Subtest: REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change
ok 49 - REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change
---
duration_ms: 63.461303
type: 'test'
...
# Subtest: REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys
ok 50 - REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys
---
duration_ms: 85.745722
type: 'test'
...
# Subtest: REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing
ok 51 - REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing
---
duration_ms: 61.9513
type: 'test'
...
# Subtest: REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change
ok 52 - REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change
---
duration_ms: 87.774256
type: 'test'
...
# Subtest: REQ-ROLE-3, REQ-LIMIT-1: a chief-of-staff change is validated, written and logged like a human's; an invalid one is refused
ok 53 - REQ-ROLE-3, REQ-LIMIT-1: a chief-of-staff change is validated, written and logged like a human's; an invalid one is refused
---
duration_ms: 210.335117
type: 'test'
...
# Subtest: REQ-COS-1: the chief of staff reads the revision, changes the file with it, and reads again after a stale one is refused
ok 54 - REQ-COS-1: the chief of staff reads the revision, changes the file with it, and reads again after a stale one is refused
---
duration_ms: 200.317618
type: 'test'
...
# Subtest: Q169: the chief of staff's change of the assistant is validated, written and logged; a stale or protection-stripping one is refused
ok 55 - Q169: the chief of staff's change of the assistant is validated, written and logged; a stale or protection-stripping one is refused
---
duration_ms: 215.789786
type: 'test'
...
# Subtest: row 65, Q169: the chief's change of the assistant's route runs the routing checks, and a valid one saves as the chief
ok 56 - row 65, Q169: the chief's change of the assistant's route runs the routing checks, and a valid one saves as the chief
---
duration_ms: 114.326904
type: 'test'
...
# Subtest: REQ-ROLE-2, REQ-COS-1: the 3c→3d migration lets the chief of staff end a held role with a reason; neither is still refused
ok 57 - REQ-ROLE-2, REQ-COS-1: the 3c→3d migration lets the chief of staff end a held role with a reason; neither is still refused
---
duration_ms: 151.62513
type: 'test'
...
# Subtest: row 194 T10: the chief's reason end of a kept instance refuses instance-kept, holds the claim and spends nothing
ok 58 - row 194 T10: the chief's reason end of a kept instance refuses instance-kept, holds the claim and spends nothing
---
duration_ms: 47.61156
type: 'test'
...
# Subtest: row 194 T10 (Q2): a role.revoke citing a decision the human resolved still ends a kept run
ok 59 - row 194 T10 (Q2): a role.revoke citing a decision the human resolved still ends a kept run
---
duration_ms: 35.452355
type: 'test'
...
# Subtest: row 194 T10 (B7): the chief's organization.set of a kept instance's model refuses before the writer; the human's limits.set does not
ok 60 - row 194 T10 (B7): the chief's organization.set of a kept instance's model refuses before the writer; the human's limits.set does not
---
duration_ms: 44.001858
type: 'test'
...
# Subtest: row 194 T13: organization.set and limits.set refuse the launch, retired, keep and noHire keys before the writer
ok 61 - row 194 T13: organization.set and limits.set refuse the launch, retired, keep and noHire keys before the writer
---
duration_ms: 53.169282
type: 'test'
...
# Subtest: row 194 T18 (D2.4): from a chief session veto.set and instances.set refuse, and nothing reaches the writer
ok 62 - row 194 T18 (D2.4): from a chief session veto.set and instances.set refuse, and nothing reaches the writer
---
duration_ms: 49.666118
type: 'test'
...
# Subtest: row 194 T8: the chief hires with a reason and no decision, the writer gets the reason as context, and the log names it
ok 63 - row 194 T8: the chief hires with a reason and no decision, the writer gets the reason as context, and the log names it
---
duration_ms: 50.168221
type: 'test'
...
# Subtest: row 194 T11: on a bus with two businesses, the chief of one hires and fires only in its own
ok 64 - row 194 T11: on a bus with two businesses, the chief of one hires and fires only in its own
---
duration_ms: 46.65998
type: 'test'
...
# Subtest: row 194 T8: hire and fire need a reason of 1 to 500 characters and refuse a decision key
ok 65 - row 194 T8: hire and fire need a reason of 1 to 500 characters and refuse a decision key
---
duration_ms: 68.164744
type: 'test'
...
# Subtest: row 194 T8 (sage-1471): only the chief hires or fires; every other role refuses role-not-chief, even one granted the actions
ok 66 - row 194 T8 (sage-1471): only the chief hires or fires; every other role refuses role-not-chief, even one granted the actions
---
duration_ms: 54.61669
type: 'test'
...
# Subtest: row 194 T8 (sage-1471): a chief whose authority lacks role.hire or role.fire refuses decision-required before the writer
ok 67 - row 194 T8 (sage-1471): a chief whose authority lacks role.hire or role.fire refuses decision-required before the writer
---
duration_ms: 76.484828
type: 'test'
...
# Subtest: row 194 T8a: a re-hire of a fired name goes to the writer like a hire, and the writer's refusals pass through by name
ok 68 - row 194 T8a: a re-hire of a fired name goes to the writer like a hire, and the writer's refusals pass through by name
---
duration_ms: 44.39431
type: 'test'
...
# Subtest: row 194 T8b: a definition is hireable only when every action is on HIRE_ALLOWED, it is version 2, the chief lists it and noHire doesn't
ok 69 - row 194 T8b: a definition is hireable only when every action is on HIRE_ALLOWED, it is version 2, the chief lists it and noHire doesn't
---
duration_ms: 1308.74325
type: 'test'
...
# Subtest: row 194 T8b: a hire without the role files configured refuses not-configured
ok 70 - row 194 T8b: a hire without the role files configured refuses not-configured
---
duration_ms: 36.023624
type: 'test'
...
# Subtest: row 194 T9: a fire revokes the claim, cancels open requests, asks the launcher to kill the runs, then delists and logs
ok 71 - row 194 T9: a fire revokes the claim, cancels open requests, asks the launcher to kill the runs, then delists and logs
---
duration_ms: 40.580439
type: 'test'
...
# Subtest: row 194 T9a (bus): a fire end's done writes lifecycle.end.killed and lifecycle.end.alive with run and pid, and an unknown stop's reason; a terminate's done or a bad stop refuses
ok 72 - row 194 T9a (bus): a fire end's done writes lifecycle.end.killed and lifecycle.end.alive with run and pid, and an unknown stop's reason; a terminate's done or a bad stop refuses
---
duration_ms: 48.466125
type: 'test'
...
# Subtest: row 194 T9: fire refusals come before step A and leave the claim, the requests and the file alone
ok 73 - row 194 T9: fire refusals come before step A and leave the claim, the requests and the file alone
---
duration_ms: 46.520472
type: 'test'
...
# Subtest: row 194 T9c: a writer failure at B leaves the instance firing, and the repeat delists and logs once
ok 74 - row 194 T9c: a writer failure at B leaves the instance firing, and the repeat delists and logs once
---
duration_ms: 44.157256
type: 'test'
...
# Subtest: row 194 T9c: a failure at C leaves the fire unlogged and the instance firing, and the repeat logs it
ok 75 - row 194 T9c: a failure at C leaves the fire unlogged and the instance firing, and the repeat logs it
---
duration_ms: 48.998345
type: 'test'
...
# Subtest: row 194 W-N1: a fire.done before a later fire.stopped of the same instance leaves it firing; another instance's done does not end it
ok 76 - row 194 W-N1: a fire.done before a later fire.stopped of the same instance leaves it firing; another instance's done does not end it
---
duration_ms: 40.383285
type: 'test'
...
# Subtest: row 194 T10: a hire or fire of a kept name refuses instance-kept before the writer
ok 77 - row 194 T10: a hire or fire of a kept name refuses instance-kept before the writer
---
duration_ms: 34.793022
type: 'test'
...
# Subtest: row 194 T10: a fire the writer's check refuses from the file stops nothing and leaves the instance launchable
ok 78 - row 194 T10: a fire the writer's check refuses from the file stops nothing and leaves the instance launchable
---
duration_ms: 35.009006
type: 'test'
...
# Subtest: row 194 T18: hire and fire take only their own keys, and a refused call writes nothing
ok 79 - row 194 T18: hire and fire take only their own keys, and a refused call writes nothing
---
duration_ms: 54.487088
type: 'test'
...
# Subtest: row 194 T8, T9, T18: through the runtime the chief hires and fires with the real writer, the receipt carries the reason, and a refusal leaves the file alone
ok 80 - row 194 T8, T9, T18: through the runtime the chief hires and fires with the real writer, the receipt carries the reason, and a refusal leaves the file alone
---
duration_ms: 129.448404
type: 'test'
...
# Subtest: row 194 W-N1: the launcher's take of a launch or regenerate of a firing instance closes it as instance-firing
ok 81 - row 194 W-N1: the launcher's take of a launch or regenerate of a firing instance closes it as instance-firing
---
duration_ms: 44.245945
type: 'test'
...
# Subtest: comment cursors isolate businesses, move only forward and remain append-only
ok 82 - comment cursors isolate businesses, move only forward and remain append-only
---
duration_ms: 28.8693
type: 'test'
...
# Subtest: only trusted sync writes validated cursors; events and cursor share rollback
ok 83 - only trusted sync writes validated cursors; events and cursor share rollback
---
duration_ms: 21.714644
type: 'test'
...
# Subtest: explicit 3b copy migration preserves evidence and opens as 3g; normal startup never migrates
ok 84 - explicit 3b copy migration preserves evidence and opens as 3g; normal startup never migrates
---
duration_ms: 113.580633
type: 'test'
...
# Subtest: migration refuses active writers and drifted legacy schemas, with no partial upgrade
ok 85 - migration refuses active writers and drifted legacy schemas, with no partial upgrade
---
duration_ms: 171.352649
type: 'test'
...
# Subtest: named migration registry chains 3b through 3g to a fixture-only future version in order
ok 86 - named migration registry chains 3b through 3g to a fixture-only future version in order
---
duration_ms: 131.772224
type: 'test'
...
# Subtest: migration refuses mismatched source metadata without changing schema or evidence
ok 87 - migration refuses mismatched source metadata without changing schema or evidence
---
duration_ms: 89.088282
type: 'test'
...
# Subtest: offline command migrates only the supplied fixture root and reports usage errors
ok 88 - offline command migrates only the supplied fixture root and reports usage errors
---
duration_ms: 298.003037
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: M6: a creative raise refuses decision-not-allowed, cited or not, and no decision row appears; the assistant still raises
ok 89 - M6: a creative raise refuses decision-not-allowed, cited or not, and no decision row appears; the assistant still raises
---
duration_ms: 57.868354
type: 'test'
...
# Subtest: a creative instance sends only to the user and hears only from the user
ok 90 - a creative instance sends only to the user and hears only from the user
---
duration_ms: 78.055024
type: 'test'
...
# Subtest: M10 through the broker: the chief and the tester are refused on bean, the human's limits.set of its models key works
ok 91 - M10 through the broker: the chief and the tester are refused on bean, the human's limits.set of its models key works
---
duration_ms: 142.793585
type: 'test'
...
# Subtest: row 256 T6 the human deletes a creative instance through the broker; the chief and the tester are refused at the verb
ok 92 - row 256 T6 the human deletes a creative instance through the broker; the chief and the tester are refused at the verb
---
duration_ms: 110.006811
type: 'test'
...
# Subtest: X4: register adds a store reference to the running bus, and issue then writes the key
ok 93 - X4: register adds a store reference to the running bus, and issue then writes the key
---
duration_ms: 26.526264
type: 'test'
...
# Subtest: X4: register runs the constructor's reference checks
ok 94 - X4: register runs the constructor's reference checks
---
duration_ms: 1.15983
type: 'test'
...
# Subtest: X4: register reads no file, so a key file left at the path stays unused, and a live token refuses
ok 95 - X4: register reads no file, so a key file left at the path stays unused, and a live token refuses
---
duration_ms: 15.871726
type: 'test'
...
# Subtest: X3, X4: unregister drops an entry with no token and refuses one with a live token
ok 96 - X3, X4: unregister drops an entry with no token and refuses one with a live token
---
duration_ms: 15.560174
type: 'test'
...
# Subtest: X5: a claim holds the slot, so a second claim and a host.run refuse host-busy until release
ok 97 - X5: a claim holds the slot, so a second claim and a host.run refuse host-busy until release
---
duration_ms: 11.760657
type: 'test'
...
# Subtest: X5: a claim made while a host.run is in flight refuses host-busy
ok 98 - X5: a claim made while a host.run is in flight refuses host-busy
---
duration_ms: 8.875173
type: 'test'
...
# Subtest: X5: a stale release leaves a later claim in place
ok 99 - X5: a stale release leaves a later claim in place
---
duration_ms: 0.793623
type: 'test'
...
# Subtest: X5: abortClaim aborts a live claim and says pending, and revoke's abort reaches a claim too
ok 100 - X5: abortClaim aborts a live claim and says pending, and revoke's abort reaches a claim too
---
duration_ms: 9.758193
type: 'test'
...
# Subtest: credentials gives human and reader sessions service, account, role, date and state, and nothing else
ok 101 - credentials gives human and reader sessions service, account, role, date and state, and nothing else
---
duration_ms: 28.598213
type: 'test'
...
# Subtest: credentials refuses a role session and any argument
ok 102 - credentials refuses a role session and any argument
---
duration_ms: 34.68294
type: 'test'
...
# Subtest: credentials reads the status on each request, and a broker without one lists none
ok 103 - credentials reads the status on each request, and a broker without one lists none
---
duration_ms: 41.770983
type: 'test'
...
# Subtest: the broker process answers credentials without a token, path or variable in its output, log or store
ok 104 - the broker process answers credentials without a token, path or variable in its output, log or store
---
duration_ms: 241.919854
type: 'test'
...
# Subtest: T1: a store reference with no file yet starts, and the agent is not-issued until issue
ok 105 - T1: a store reference with no file yet starts, and the agent is not-issued until issue
---
duration_ms: 8.405194
type: 'test'
...
# Subtest: T1: a store path the reference does not own, or no store root, refuses the reference
ok 106 - T1: a store path the reference does not own, or no store root, refuses the reference
---
duration_ms: 0.76372
type: 'test'
...
# Subtest: T1: a wrong mode on the store root, a business dir, an agent dir or the file refuses start
ok 107 - T1: a wrong mode on the store root, a business dir, an agent dir or the file refuses start
---
duration_ms: 3.290036
type: 'test'
...
# Subtest: T1: a missing store root refuses start; a missing {file} reference still refuses start
ok 108 - T1: a missing store root refuses start; a missing {file} reference still refuses start
---
duration_ms: 0.920863
type: 'test'
...
# Subtest: T1: a store file that is a directory or a symlink refuses start
ok 109 - T1: a store file that is a directory or a symlink refuses start
---
duration_ms: 1.531802
type: 'test'
...
# Subtest: T2: useFor keys from the session only
ok 110 - T2: useFor keys from the session only
---
duration_ms: 2.483864
type: 'test'
...
# Subtest: T5: issue, rotate, revoke and delete are live with no restart, and revoke holds across one
ok 111 - T5: issue, rotate, revoke and delete are live with no restart, and revoke holds across one
---
duration_ms: 10.583115
type: 'test'
...
# Subtest: T5: a failed commit leaves the token on disk but not in memory, and a bad token or date writes nothing
ok 112 - T5: a failed commit leaves the token on disk but not in memory, and a bad token or date writes nothing
---
duration_ms: 2.851445
type: 'test'
...
# Subtest: T5: revoke drops the token from memory before the unlink, so a failed unlink still leaves it revoked
ok 113 - T5: revoke drops the token from memory before the unlink, so a failed unlink still leaves it revoked
---
duration_ms: 3.128259
type: 'test'
...
# Subtest: T5: revoke of a {file} reference forgets the token and never unlinks the file
ok 114 - T5: revoke of a {file} reference forgets the token and never unlinks the file
---
duration_ms: 1.129269
type: 'test'
...
# Subtest: T5: delete refuses an agent dir holding anything but tokens
ok 115 - T5: delete refuses an agent dir holding anything but tokens
---
duration_ms: 3.319182
type: 'test'
...
# Subtest: D5: every credentials use( call site is on the allowlist
ok 116 - D5: every credentials use( call site is on the allowlist
---
duration_ms: 42.086821
type: 'test'
...
# Subtest: row 199: the lifecycle verbs refuse every session but the human, and the tester revokes only
ok 117 - row 199: the lifecycle verbs refuse every session but the human, and the tester revokes only
---
duration_ms: 62.582844
type: 'test'
...
# Subtest: T5: issue, rotate, revoke and delete are live, rewrite the business file and leave one receipt each, with no value anywhere
ok 118 - T5: issue, rotate, revoke and delete are live, rewrite the business file and leave one receipt each, with no value anywhere
---
duration_ms: 179.714518
type: 'test'
...
# Subtest: only validated broker references load; returned data and exceptions cannot expose a known token
ok 119 - only validated broker references load; returned data and exceptions cannot expose a known token
---
duration_ms: 4.143727
type: 'test'
...
# Subtest: bad file modes, symlinks, repository/data paths, malformed tokens and missing dates refuse
ok 120 - bad file modes, symlinks, repository/data paths, malformed tokens and missing dates refuse
---
duration_ms: 2.383272
type: 'test'
...
# Subtest: expiry refuses use and env references never become client data
ok 121 - expiry refuses use and env references never become client data
---
duration_ms: 0.883369
type: 'test'
...
# Subtest: S1 parsed service refs work, service mismatch refuses, Gitea rotation due is a warning state
ok 122 - S1 parsed service refs work, service mismatch refuses, Gitea rotation due is a warning state
---
duration_ms: 1.628677
type: 'test'
...
# Subtest: opaque tokens shorter than 16 characters refuse before use
ok 123 - opaque tokens shorter than 16 characters refuse before use
---
duration_ms: 0.363821
type: 'test'
...
# Subtest: each C-suite role file carries the same two lists: human, chief-of-staff, pm, cto
ok 124 - each C-suite role file carries the same two lists: human, chief-of-staff, pm, cto
---
duration_ms: 2.389779
type: 'test'
...
# Subtest: chief-executive-officer: messages to and from the user, chief of staff, pm and cto pass
ok 125 - chief-executive-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 88.573015
type: 'test'
...
# Subtest: chief-executive-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
ok 126 - chief-executive-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 79.949417
type: 'test'
...
# Subtest: chief-executive-officer: another C-suite role isn't on the lists either
ok 127 - chief-executive-officer: another C-suite role isn't on the lists either
---
duration_ms: 61.266024
type: 'test'
...
# Subtest: chief-financial-officer: messages to and from the user, chief of staff, pm and cto pass
ok 128 - chief-financial-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 76.067059
type: 'test'
...
# Subtest: chief-financial-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
ok 129 - chief-financial-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 84.881761
type: 'test'
...
# Subtest: chief-financial-officer: another C-suite role isn't on the lists either
ok 130 - chief-financial-officer: another C-suite role isn't on the lists either
---
duration_ms: 70.98828
type: 'test'
...
# Subtest: chief-information-officer: messages to and from the user, chief of staff, pm and cto pass
ok 131 - chief-information-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 111.72432
type: 'test'
...
# Subtest: chief-information-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
ok 132 - chief-information-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 99.193053
type: 'test'
...
# Subtest: chief-information-officer: another C-suite role isn't on the lists either
ok 133 - chief-information-officer: another C-suite role isn't on the lists either
---
duration_ms: 104.432343
type: 'test'
...
# Subtest: chief-information-security-officer: messages to and from the user, chief of staff, pm and cto pass
ok 134 - chief-information-security-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 86.017663
type: 'test'
...
# Subtest: chief-information-security-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
ok 135 - chief-information-security-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 93.354467
type: 'test'
...
# Subtest: chief-information-security-officer: another C-suite role isn't on the lists either
ok 136 - chief-information-security-officer: another C-suite role isn't on the lists either
---
duration_ms: 78.678142
type: 'test'
...
# Subtest: chief-marketing-officer: messages to and from the user, chief of staff, pm and cto pass
ok 137 - chief-marketing-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 100.312769
type: 'test'
...
# Subtest: chief-marketing-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
ok 138 - chief-marketing-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 126.692279
type: 'test'
...
# Subtest: chief-marketing-officer: another C-suite role isn't on the lists either
ok 139 - chief-marketing-officer: another C-suite role isn't on the lists either
---
duration_ms: 78.109755
type: 'test'
...
# limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mayLaunch","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":0}
# usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"b5fbedd9-19eb-46f9-8a20-2c6cd36e00e3","source":"@none","code":"baseline-unknown"}
# limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mustStop","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":1}
# usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"5163d32c-9718-49b1-83e7-6af025b06430","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it
ok 140 - REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it
---
duration_ms: 200.32174
type: 'test'
...
# Subtest: REQ-LIMIT-4 runtime: a run bound with the account writes it on its usage records and stops at the quota
ok 141 - REQ-LIMIT-4 runtime: a run bound with the account writes it on its usage records and stops at the quota
---
duration_ms: 86.406773
type: 'test'
...
# Subtest: REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it
ok 142 - REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it
---
duration_ms: 88.908464
type: 'test'
...
# Subtest: REQ-LIMIT-4 bindLaunch keeps the account off session.launched, refuses one that is not an identifier, and takes null as none
ok 143 - REQ-LIMIT-4 bindLaunch keeps the account off session.launched, refuses one that is not an identifier, and takes null as none
---
duration_ms: 28.263474
type: 'test'
...
# Subtest: a human resolve sends the raising role one message from the human, and its request is the answer
ok 144 - a human resolve sends the raising role one message from the human, and its request is the answer
---
duration_ms: 67.258925
type: 'test'
...
# Subtest: a cross-role decision resolved by its arbiter comes from that role and run, with no request
ok 145 - a cross-role decision resolved by its arbiter comes from that role and run, with no request
---
duration_ms: 42.908604
type: 'test'
...
# Subtest: a human withdraw sends one message with the note
ok 146 - a human withdraw sends one message with the note
---
duration_ms: 42.029604
type: 'test'
...
# Subtest: a human seen before the close leaves the request on the close's answer, not the seen
ok 147 - a human seen before the close leaves the request on the close's answer, not the seen
---
duration_ms: 47.224206
type: 'test'
...
# Subtest: the raising run's withdraw, a supersede, a within-role raise and seen send nothing
ok 148 - the raising run's withdraw, a supersede, a within-role raise and seen send nothing
---
duration_ms: 44.543206
type: 'test'
...
# Subtest: refused closes send nothing: invalid-choice, decision-closed, not-resolver
ok 149 - refused closes send nothing: invalid-choice, decision-closed, not-resolver
---
duration_ms: 53.91534
type: 'test'
...
# Subtest: a raising role nobody holds at the close gets the message on the next claim
ok 150 - a raising role nobody holds at the close gets the message on the next claim
---
duration_ms: 54.155602
type: 'test'
...
# Subtest: a human DECISION send keeps its own instruction as the request, not a close's answer
ok 151 - a human DECISION send keeps its own instruction as the request, not a close's answer
---
duration_ms: 52.333872
type: 'test'
...
# Subtest: a cross-role raise whose arbiter the raiser does not hear from is refused and stores nothing
ok 152 - a cross-role raise whose arbiter the raiser does not hear from is refused and stores nothing
---
duration_ms: 64.147743
type: 'test'
...
# Subtest: a gated raise by a role that does not hear from the human is refused and stores nothing
ok 153 - a gated raise by a role that does not hear from the human is refused and stores nothing
---
duration_ms: 52.450461
type: 'test'
...
# Subtest: a route the raiser hears from is allowed, checked from the route to the raiser
ok 154 - a route the raiser hears from is allowed, checked from the route to the raiser
---
duration_ms: 57.025587
type: 'test'
...
# Subtest: a refused supersede withdraws nothing
ok 155 - a refused supersede withdraws nothing
---
duration_ms: 46.93787
type: 'test'
...
# Subtest: the assistant's within-role and gated raises still work
ok 156 - the assistant's within-role and gated raises still work
---
duration_ms: 58.52724
type: 'test'
...
# Subtest: roles lists open decisions routed to a role, and never the human inbox
ok 157 - roles lists open decisions routed to a role, and never the human inbox
---
duration_ms: 54.004571
type: 'test'
...
# Subtest: recent lists closed decisions of every route, newest close first, with how each closed
ok 158 - recent lists closed decisions of every route, newest close first, with how each closed
---
duration_ms: 54.556095
type: 'test'
...
# Subtest: recent gives the closing event as closed when the decision was seen first
ok 159 - recent gives the closing event as closed when the decision was seen first
---
duration_ms: 52.639344
type: 'test'
...
# Subtest: recent stops at RECENT rows
ok 160 - recent stops at RECENT rows
---
duration_ms: 181.154552
type: 'test'
...
# Subtest: every row is what trail already gives the same session for that id
ok 161 - every row is what trail already gives the same session for that id
---
duration_ms: 84.89758
type: 'test'
...
# Subtest: a role session can't list decisions, so it can't read another role's open decisions
ok 162 - a role session can't list decisions, so it can't read another role's open decisions
---
duration_ms: 93.210815
type: 'test'
...
# Subtest: decisions is a read: one business, strict arguments, nothing written
ok 163 - decisions is a read: one business, strict arguments, nothing written
---
duration_ms: 101.555159
type: 'test'
...
# Subtest: endLaunch writes session.ended, releases the run claim and kills its capabilities
ok 164 - endLaunch writes session.ended, releases the run claim and kills its capabilities
---
duration_ms: 34.255813
type: 'test'
...
# Subtest: endLaunch refuses an unknown run, a second end and a rebind of the ended run
ok 165 - endLaunch refuses an unknown run, a second end and a rebind of the ended run
---
duration_ms: 29.12299
type: 'test'
...
# Subtest: a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound
ok 166 - a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound
---
duration_ms: 33.120608
type: 'test'
...
# Subtest: endLaunch leaves a claim another run took alone
ok 167 - endLaunch leaves a claim another run took alone
---
duration_ms: 36.108346
type: 'test'
...
# Subtest: refuse records action.refused against the caller with the code only
ok 168 - refuse records action.refused against the caller with the code only
---
duration_ms: 24.67517
type: 'test'
...
# Subtest: launches off refuses role.launch with launch-revoked until launches on
ok 169 - launches off refuses role.launch with launch-revoked until launches on
---
duration_ms: 39.885985
type: 'test'
...
# Subtest: broker process: launch ops authorize role.launch, record refusals and end runs
ok 170 - broker process: launch ops authorize role.launch, record refusals and end runs
---
duration_ms: 314.035855
type: 'test'
...
# Subtest: X-G3: on scratch 1.27.1, a grant makes the user, mints, forks, checks reach, writes the file, and revoke deletes the token
ok 171 - X-G3: on scratch 1.27.1, a grant makes the user, mints, forks, checks reach, writes the file, and revoke deletes the token
---
duration_ms: 12296.892893
type: 'test'
...
# Subtest: versionAtLeast compares numbers and refuses a prerelease of 1.27.0
ok 172 - versionAtLeast compares numbers and refuses a prerelease of 1.27.0
---
duration_ms: 1.8
type: 'test'
...
# Subtest: X-G1: a raise that fails a check refuses and stores nothing
ok 173 - X-G1: a raise that fails a check refuses and stores nothing
---
duration_ms: 128.374224
type: 'test'
...
# Subtest: X-G1: a creative role, a role without identity and a missing or due slot refuse at raise
ok 174 - X-G1: a creative role, a role without identity and a missing or due slot refuse at raise
---
duration_ms: 472.391654
type: 'test'
...
# Subtest: X-G2: admin set refuses each failed check and writes nothing, then writes the slot once
ok 175 - X-G2: admin set refuses each failed check and writes nothing, then writes the slot once
---
duration_ms: 387.764102
type: 'test'
...
# Subtest: X-G3 to X-G8: an approve makes the user, mints the token, forks, checks reach and writes the file, record and grant.applied
ok 176 - X-G3 to X-G8: an approve makes the user, mints the token, forks, checks reach and writes the file, record and grant.applied
---
duration_ms: 203.270514
type: 'test'
...
# Subtest: X-G4: a user this stack did not make, an admin, a disabled user and a remade user each refuse
ok 177 - X-G4: a user this stack did not make, an admin, a disabled user and a remade user each refuse
---
duration_ms: 610.441775
type: 'test'
...
# Subtest: X-G6 and X-G8: the user and mint steps are written before their calls, and each result after its call
ok 178 - X-G6 and X-G8: the user and mint steps are written before their calls, and each result after its call
---
duration_ms: 189.864192
type: 'test'
...
# Subtest: X-G4: a fork by the seat user of another repository than the project refuses fork-foreign
ok 179 - X-G4: a fork by the seat user of another repository than the project refuses fork-foreign
---
duration_ms: 168.734119
type: 'test'
...
# Subtest: X-G5: a failure after the mint deletes the token, unloads nothing it did not load and leaves no file
ok 180 - X-G5: a failure after the mint deletes the token, unloads nothing it did not load and leaves no file
---
duration_ms: 253.797731
type: 'test'
...
# Subtest: X-G5: a token delete that fails is left at Gitea, shown by status and taken by sweep
ok 181 - X-G5: a token delete that fails is left at Gitea, shown by status and taken by sweep
---
duration_ms: 218.61712
type: 'test'
...
# Subtest: X-G5: a mint that fails deletes by name, and a refusal at step 0 leaves the decision unspent
ok 182 - X-G5: a mint that fails deletes by name, and a refusal at step 0 leaves the decision unspent
---
duration_ms: 313.88733
type: 'test'
...
# Subtest: X-G5: an agent held for an unknown token is refused at step 0 with no Gitea call
ok 183 - X-G5: an agent held for an unknown token is refused at step 0 with no Gitea call
---
duration_ms: 104.840999
type: 'test'
...
# Subtest: X-G5 and X-G9 (step 7): a rotation whose old-token delete fails stays applied with the old id left
ok 184 - X-G5 and X-G9 (step 7): a rotation whose old-token delete fails stays applied with the old id left
---
duration_ms: 311.16971
type: 'test'
...
# Subtest: X-G10: in a rotation the store file holds the new token before the old one is deleted
ok 185 - X-G10: in a rotation the store file holds the new token before the old one is deleted
---
duration_ms: 260.174379
type: 'test'
...
# Subtest: X-G6: a rotation cut before the rename settles back at once, and the old token stays live
ok 186 - X-G6: a rotation cut before the rename settles back at once, and the old token stays live
---
duration_ms: 296.192141
type: 'test'
...
# Subtest: X-G6: a rotation whose step 8 write fails is settle-pending, and a restart settles it forward
ok 187 - X-G6: a rotation whose step 8 write fails is settle-pending, and a restart settles it forward
---
duration_ms: 536.703078
type: 'test'
...
# Subtest: X-G6: a restart settles an open rotation back when the file still holds the old token
ok 188 - X-G6: a restart settles an open rotation back when the file still holds the old token
---
duration_ms: 284.270817
type: 'test'
...
# Subtest: X-G6: a restart settles an open rotation forward when the file holds the new token
ok 189 - X-G6: a restart settles an open rotation forward when the file holds the new token
---
duration_ms: 246.397269
type: 'test'
...
# Subtest: X-G6: a 401 on the file token loses the grant: both tokens go, the record goes and memory unloads
ok 190 - X-G6: a 401 on the file token loses the grant: both tokens go, the record goes and memory unloads
---
duration_ms: 291.859229
type: 'test'
...
# Subtest: X-G6: a 403, 404, 500, a hang and a dropped socket each leave the rotation settle-pending with nothing deleted
ok 191 - X-G6: a 403, 404, 500, a hang and a dropped socket each leave the rotation settle-pending with nothing deleted
---
duration_ms: 1474.055342
type: 'test'
...
# Subtest: X-G6: a file token no grant minted is held; the next restart says so again; a revoke clears it and takes both ids
ok 192 - X-G6: a file token no grant minted is held; the next restart says so again; a revoke clears it and takes both ids
---
duration_ms: 266.66397
type: 'test'
...
# Subtest: N9: a revoke of an open rotation, then a restart: no settle, no Gitea call and no message
ok 193 - N9: a revoke of an open rotation, then a restart: no settle, no Gitea call and no message
---
duration_ms: 211.239527
type: 'test'
...
# Subtest: N9: a 404 on a delete by id counts as done
ok 194 - N9: a 404 on a delete by id counts as done
---
duration_ms: 144.563721
type: 'test'
...
# Subtest: X-G6: a restart undoes each step a killed child left, and spends an approved unspent decision
ok 195 - X-G6: a restart undoes each step a killed child left, and spends an approved unspent decision
---
duration_ms: 409.693133
type: 'test'
...
# Subtest: X-G6: a restart with no admin slot leaves the user an orphan and the token left
ok 196 - X-G6: a restart with no admin slot leaves the user an orphan and the token left
---
duration_ms: 49.59885
type: 'test'
...
# Subtest: X-G7: a change to the definition, identity, publish remotes or admin slot after the raise ends decision-mismatch
ok 197 - X-G7: a change to the definition, identity, publish remotes or admin slot after the raise ends decision-mismatch
---
duration_ms: 106.259445
type: 'test'
...
# Subtest: X-G7 and X-G9: an admin rotate voids open decisions, and rotate --finish deletes what was left
ok 198 - X-G7 and X-G9: an admin rotate voids open decisions, and rotate --finish deletes what was left
---
duration_ms: 107.569769
type: 'test'
...
# Subtest: X-G9: a rotate whose name is taken refuses and writes nothing; remove takes the slot away
ok 199 - X-G9: a rotate whose name is taken refuses and writes nothing; remove takes the slot away
---
duration_ms: 61.741574
type: 'test'
...
# Subtest: X-G9: a slot past its rotate-by date refuses a run at step 0, leaving the decision unspent
ok 200 - X-G9: a slot past its rotate-by date refuses a run at step 0, leaving the decision unspent
---
duration_ms: 46.37838
type: 'test'
...
# Subtest: X-G11: run refuses every caller but the human, an unapproved, a spent and a busy decision
ok 201 - X-G11: run refuses every caller but the human, an unapproved, a spent and a busy decision
---
duration_ms: 103.509583
type: 'test'
...
# Subtest: kill switch (plan :16): while halted the chief still reads grants.status, and an agent grants.revoke refuses
ok 202 - kill switch (plan :16): while halted the chief still reads grants.status, and an agent grants.revoke refuses
---
duration_ms: 87.246979
type: 'test'
...
# Subtest: X-G11: a revoke while the executor runs aborts it and the grant ends revoked
ok 203 - X-G11: a revoke while the executor runs aborts it and the grant ends revoked
---
duration_ms: 106.253722
type: 'test'
...
# Subtest: X-G11: a revoke unloads memory and removes the file before its Gitea delete
ok 204 - X-G11: a revoke unloads memory and removes the file before its Gitea delete
---
duration_ms: 111.752247
type: 'test'
...
# Subtest: X-G11: a revoke during a rotation step 7 ends it revoked, and step 8 writes no record back
ok 205 - X-G11: a revoke during a rotation step 7 ends it revoked, and step 8 writes no record back
---
duration_ms: 174.803243
type: 'test'
...
# Subtest: X-G11: a revoke while a sweep settles a rotation, forward or back, ends it revoked with no record
ok 206 - X-G11: a revoke while a sweep settles a rotation, forward or back, ends it revoked with no record
---
duration_ms: 305.507451
type: 'test'
...
# Subtest: X-G11: a revoke during a settle whoami that finds a foreign token ends it revoked, not held
ok 207 - X-G11: a revoke during a settle whoami that finds a foreign token ends it revoked, not held
---
duration_ms: 173.066211
type: 'test'
...
# Subtest: X-G11: a revoke during a settle whoami that gets a 401 ends it revoked, not lost
ok 208 - X-G11: a revoke during a settle whoami that gets a 401 ends it revoked, not lost
---
duration_ms: 179.02405
type: 'test'
...
# Subtest: X-G12: a token that reaches wider than its forks fails with the repository named
ok 209 - X-G12: a token that reaches wider than its forks fails with the repository named
---
duration_ms: 401.71723
type: 'test'
...
# Subtest: X-G12: reach is paged by X-Total-Count and a count that does not add up refuses
ok 210 - X-G12: reach is paged by X-Total-Count and a count that does not add up refuses
---
duration_ms: 264.619114
type: 'test'
...
# Subtest: X-G13: an agent cannot record a grant event, and the trigger refuses one from any writer but the grant writer
ok 211 - X-G13: an agent cannot record a grant event, and the trigger refuses one from any writer but the grant writer
---
duration_ms: 44.099989
type: 'test'
...
# Subtest: X-G14: credentials delete fires the user: tokens go, login is prohibited, and grant.revoke.closed records it
ok 212 - X-G14: credentials delete fires the user: tokens go, login is prohibited, and grant.revoke.closed records it
---
duration_ms: 309.623643
type: 'test'
...
# Subtest: X-G14: a fire whose token delete or login PATCH fails lands it in serviceLeft
ok 213 - X-G14: a fire whose token delete or login PATCH fails lands it in serviceLeft
---
duration_ms: 146.812462
type: 'test'
...
# Subtest: X-G14: a fire whose user is gone or remade skips the fire steps and says why
ok 214 - X-G14: a fire whose user is gone or remade skips the fire steps and says why
---
duration_ms: 315.223927
type: 'test'
...
# Subtest: X-G14: a sweep retries a fire only for the user it fired: a remade or gone user is skipped and named
ok 215 - X-G14: a sweep retries a fire only for the user it fired: a remade or gone user is skipped and named
---
duration_ms: 407.192376
type: 'test'
...
# Subtest: X-G14: a revoke Gitea cannot reach stays open, and a restart closes it
ok 216 - X-G14: a revoke Gitea cannot reach stays open, and a restart closes it
---
duration_ms: 116.96617
type: 'test'
...
# Subtest: X-G15: look-alike commit steps outside the grant writer are ignored at start, by revoke and by status
ok 217 - X-G15: look-alike commit steps outside the grant writer are ignored at start, by revoke and by status
---
duration_ms: 132.220385
type: 'test'
...
# Subtest: X-G15: a look-alike spend under another kind with the grant writer pair is not an open grant
ok 218 - X-G15: a look-alike spend under another kind with the grant writer pair is not an open grant
---
duration_ms: 47.708062
type: 'test'
...
# Subtest: status lists the slot, users, grants and nothing secret, and every grants verb needs service gitea
ok 219 - status lists the slot, users, grants and nothing secret, and every grants verb needs service gitea
---
duration_ms: 141.360026
type: 'test'
...
# Subtest: 3j copy migrates to 3k: every row kept, and sqlite_master gains only the two tables and their keys
ok 220 - 3j copy migrates to 3k: every row kept, and sqlite_master gains only the two tables and their keys
---
duration_ms: 173.471595
type: 'test'
...
# Subtest: a 3j→3k step that fails partway leaves the store at 3j with every row and the schema intact
ok 221 - a 3j→3k step that fails partway leaves the store at 3j with every row and the schema intact
---
duration_ms: 204.876274
type: 'test'
...
# Subtest: the 3j engine refuses a 3k store, migrating or not, and leaves it at 3k
ok 222 - the 3j engine refuses a 3k store, migrating or not, and leaves it at 3k
---
duration_ms: 191.027388
type: 'test'
...
# Subtest: gitea_users: one user per business and agent, an id above 0, a 16-hex nonce and a real decision
ok 223 - gitea_users: one user per business and agent, an id above 0, a 16-hex nonce and a real decision
---
duration_ms: 25.683156
type: 'test'
...
# Subtest: gitea_grants: one grant per agent, a projects array, a token id above 0, and only for a recorded user
ok 224 - gitea_grants: one grant per agent, a projects array, a token id above 0, and only for a recorded user
---
duration_ms: 29.927601
type: 'test'
...
# Subtest: G1, A1: only the chief raises a grant, and a refused raise stores nothing and runs no keyscan
ok 225 - G1, A1: only the chief raises a grant, and a refused raise stores nothing and runs no keyscan
---
duration_ms: 85.851694
type: 'test'
...
# Subtest: G1: grant goes only with credential.mint, row a takes only host-enroll, and E1 refuses each bad field
ok 226 - G1: grant goes only with credential.mint, row a takes only host-enroll, and E1 refuses each bad field
---
duration_ms: 112.060457
type: 'test'
...
# Subtest: G5, A5, A6: the scanned key set must equal the requested set, or host-key-mismatch and nothing stored
ok 227 - G5, A5, A6: the scanned key set must equal the requested set, or host-key-mismatch and nothing stored
---
duration_ms: 89.125558
type: 'test'
...
# Subtest: G4 (host-enroll block, M1): the broker appends the keys, fingerprints and sudo line, and the cap counts the block
ok 228 - G4 (host-enroll block, M1): the broker appends the keys, fingerprints and sudo line, and the cap counts the block
---
duration_ms: 59.770359
type: 'test'
...
# Subtest: G6, X1: the human's cli yes starts enrollment, which writes the record, the key file and the events in order
ok 229 - G6, X1: the human's cli yes starts enrollment, which writes the record, the key file and the events in order
---
duration_ms: 105.495488
type: 'test'
...
# Subtest: A2, A4: a credential.mint without grant, and a no, start nothing
ok 230 - A2, A4: a credential.mint without grant, and a no, start nothing
---
duration_ms: 262.593404
type: 'test'
...
# Subtest: A3, X1: a resolve by the tester or an agent starts nothing
ok 231 - A3, X1: a resolve by the tester or an agent starts nothing
---
duration_ms: 270.94953
type: 'test'
...
# Subtest: G6 (duckworth-0081 B3): a withdraw by the chief or the human, and an arbiter resolve, start nothing
ok 232 - G6 (duckworth-0081 B3): a withdraw by the chief or the human, and an arbiter resolve, start nothing
---
duration_ms: 262.451938
type: 'test'
...
# Subtest: G10 (duckworth-0081 B1): a second start for a spent decision refuses decision-consumed, and an unresolved or agent-resolved one not-authorized
ok 233 - G10 (duckworth-0081 B1): a second start for a spent decision refuses decision-consumed, and an unresolved or agent-resolved one not-authorized
---
duration_ms: 80.475528
type: 'test'
...
# Subtest: A8, S1: two approved enrollments for one host: the second ends host-enrolled and the pin stays
ok 234 - A8, S1: two approved enrollments for one host: the second ends host-enrolled and the pin stays
---
duration_ms: 98.627938
type: 'test'
...
# Subtest: A9: the hosts primary key refuses a second record for (business, host)
ok 235 - A9: the hosts primary key refuses a second record for (business, host)
---
duration_ms: 56.211384
type: 'test'
...
# Subtest: X3: a failure at step 2 deletes the record again and ends grant.failed, with no key file
ok 236 - X3: a failure at step 2 deletes the record again and ends grant.failed, with no key file
---
duration_ms: 78.325656
type: 'test'
...
# Subtest: A10, X3: at start a resolved, unspent enrollment is spent and ends interrupted, and never runs late
ok 237 - A10, X3: at start a resolved, unspent enrollment is spent and ends interrupted, and never runs late
---
duration_ms: 50.818461
type: 'test'
...
# Subtest: X3: at start an enrollment that stopped after its registry step loses its record and key file
ok 238 - X3: at start an enrollment that stopped after its registry step loses its record and key file
---
duration_ms: 69.196295
type: 'test'
...
# Subtest: G24 first sentence, M2, A12: tags are mosaic- and 32 hex, and differ by business, agent and host
ok 239 - G24 first sentence, M2, A12: tags are mosaic- and 32 hex, and differ by business, agent and host
---
duration_ms: 0.489545
type: 'test'
...
# Subtest: E4: hosts.check sets the record ready and records grant.host.checked; a non-zero list leaves it pending
ok 240 - E4: hosts.check sets the record ready and records grant.host.checked; a non-zero list leaves it pending
---
duration_ms: 77.121911
type: 'test'
...
# Subtest: G20 (duckworth-0081 B3): the human's hosts.check marks the host ready, and the reader refuses
ok 241 - G20 (duckworth-0081 B3): the human's hosts.check marks the host ready, and the reader refuses
---
duration_ms: 72.774714
type: 'test'
...
# Subtest: G18 (duckworth-0081 B2), broker half: a check refused host-key-mismatch leaves the host pending-install with no grant.host.checked
ok 242 - G18 (duckworth-0081 B2), broker half: a check refused host-key-mismatch leaves the host pending-install with no grant.host.checked
---
duration_ms: 76.587403
type: 'test'
...
# Subtest: E4: a check whose installer fingerprint differs from the record refuses host-changed
ok 243 - E4: a check whose installer fingerprint differs from the record refuses host-changed
---
duration_ms: 77.387868
type: 'test'
...
# Subtest: E4, G21: hosts.remove is the human's or the tester's, deletes the key and the record, and records grant.host.removed
ok 244 - E4, G21: hosts.remove is the human's or the tester's, deletes the key and the record, and records grant.host.removed
---
duration_ms: 76.495472
type: 'test'
...
# Subtest: G21, F1, F2, M4, A22: hosts.remove refuses host-line-left on a guarded hostLineLeft, and ignores look-alikes
ok 245 - G21, F1, F2, M4, A22: hosts.remove refuses host-line-left on a guarded hostLineLeft, and ignores look-alikes
---
duration_ms: 79.900155
type: 'test'
...
# Subtest: hosts.remove refuses host-in-use while a grant record names the host
ok 246 - hosts.remove refuses host-in-use while a grant record names the host
---
duration_ms: 67.884253
type: 'test'
...
# Subtest: the grant writer refuses a body outside section 7's shape
ok 247 - the grant writer refuses a body outside section 7's shape
---
duration_ms: 36.40124
type: 'test'
...
# Subtest: recordEvent refuses reserved-event for a grant.* action or operation
ok 248 - recordEvent refuses reserved-event for a grant.* action or operation
---
duration_ms: 35.330578
type: 'test'
...
# Subtest: row 280: an occupied TCP port is attempted, refused, and retried with our sshd
ok 249 - row 280: an occupied TCP port is attempted, refused, and retried with our sshd
---
duration_ms: 116.469528
type: 'test'
...
# Subtest: row 280: every injected picker sample is unprivileged and outside the ephemeral range
ok 250 - row 280: every injected picker sample is unprivileged and outside the ephemeral range
---
duration_ms: 0.844939
type: 'test'
...
# Subtest: G7: an Approve installs the tagged line, logs in with the new key, and writes the key file, record and grant.applied
ok 251 - G7: an Approve installs the tagged line, logs in with the new key, and writes the key file, record and grant.applied
---
duration_ms: 895.04735
type: 'test'
...
# Subtest: G7: a commands change on a live grant updates the record in one transaction and keeps the key and line
ok 252 - G7: a commands change on a live grant updates the record in one transaction and keeps the key and line
---
duration_ms: 702.823603
type: 'test'
...
# Subtest: G8: a failure at install or verify removes the line and leaves no record, key file or reference
ok 253 - G8: a failure at install or verify removes the line and leaves no record, key file or reference
---
duration_ms: 1776.878624
type: 'test'
...
# Subtest: G8: a failed remove adds hostLineLeft and tells the human to sweep
ok 254 - G8: a failed remove adds hostLineLeft and tells the human to sweep
---
duration_ms: 924.478495
type: 'test'
...
# Subtest: G8: a failure in step 5 before commit unlinks the key file, drops the reference and removes the line
ok 255 - G8: a failure in step 5 before commit unlinks the key file, drops the reference and removes the line
---
duration_ms: 798.015821
type: 'test'
...
# Subtest: G8: a store fault in the commit transaction ends host-failed with no record, key file, reference or line
ok 256 - G8: a store fault in the commit transaction ends host-failed with no record, key file, reference or line
---
duration_ms: 758.966966
type: 'test'
...
# Subtest: G8: a failed step 1 check spends the decision and runs nothing remote
ok 257 - G8: a failed step 1 check spends the decision and runs nothing remote
---
duration_ms: 126.317359
type: 'test'
...
# Subtest: G9: a registry, definition or commands change between raise and Approve ends decision-mismatch before any remote step
ok 258 - G9: a registry, definition or commands change between raise and Approve ends decision-mismatch before any remote step
---
duration_ms: 596.339249
type: 'test'
...
# Subtest: G9: an agent no longer a role or no longer declaring host ends with its code, spent
ok 259 - G9: an agent no longer a role or no longer declaring host ends with its code, spent
---
duration_ms: 101.176672
type: 'test'
...
# Subtest: G10: a second start refuses decision-consumed, and an unresolved or agent-resolved decision not-authorized, writing nothing
ok 260 - G10: a second start refuses decision-consumed, and an unresolved or agent-resolved decision not-authorized, writing nothing
---
duration_ms: 579.578016
type: 'test'
...
# Subtest: G15: no event, message or decision holds the private key
ok 261 - G15: no event, message or decision holds the private key
---
duration_ms: 506.617665
type: 'test'
...
# Subtest: G23: a revoke during install ends grant.failed revoked with no key file, no grant and no line
ok 262 - G23: a revoke during install ends grant.failed revoked with no key file, no grant and no line
---
duration_ms: 508.022226
type: 'test'
...
# Subtest: G23 (row 249): an add that writes after an abort's remove leaves hostLineLeft until the sweep
ok 263 - G23 (row 249): an add that writes after an abort's remove leaves hostLineLeft until the sweep
---
duration_ms: 849.441849
type: 'test'
...
# Subtest: G23 (row 249): an add that writes after a timed-out install's remove leaves hostLineLeft until the sweep
ok 264 - G23 (row 249): an add that writes after a timed-out install's remove leaves hostLineLeft until the sweep
---
duration_ms: 851.623179
type: 'test'
...
# Subtest: G23: a revoke recorded after the raise and before the start ends step 1 revoked, and a held slot ends host-busy
ok 265 - G23: a revoke recorded after the raise and before the start ends step 1 revoked, and a held slot ends host-busy
---
duration_ms: 517.903343
type: 'test'
...
# Subtest: G24: names at 64 characters with . and _ give distinct tags of the fixed length
ok 266 - G24: names at 64 characters with . and _ give distinct tags of the fixed length
---
duration_ms: 0.402836
type: 'test'
...
# Subtest: G11: a restart after install removes the line, then ends interrupted with the tag, holding the slot until then
ok 267 - G11: a restart after install removes the line, then ends interrupted with the tag, holding the slot until then
---
duration_ms: 231.360772
type: 'test'
...
# Subtest: G11: a restart after a new key's commit, with the key file written, ends with no key file, record, reference or line
ok 268 - G11: a restart after a new key's commit, with the key file written, ends with no key file, record, reference or line
---
duration_ms: 237.752672
type: 'test'
...
# Subtest: G11: a restart after a commands change's commit leaves the record as it was and asks nothing of the host
ok 269 - G11: a restart after a commands change's commit leaves the record as it was and asks nothing of the host
---
duration_ms: 521.259027
type: 'test'
...
# Subtest: G11 (B2): a restart before step 1, spent or not yet spent, ends interrupted and nothing runs later
ok 270 - G11 (B2): a restart before step 1, spent or not yet spent, ends interrupted and nothing runs later
---
duration_ms: 71.403091
type: 'test'
...
# Subtest: G11: a remote undo that fails ends interrupted with hostLineLeft and the sweep hint
ok 271 - G11: a remote undo that fails ends interrupted with hostLineLeft and the sweep hint
---
duration_ms: 283.66747
type: 'test'
...
# Subtest: G11: a restart leaves a finished grant alone, and the reconcile adds nothing for it
ok 272 - G11: a restart leaves a finished grant alone, and the reconcile adds nothing for it
---
duration_ms: 514.239795
type: 'test'
...
# Subtest: N1 (G27): the start sweep unlinks host.<id> files with no record in loaded businesses only, and refuses a store dir that is not private
ok 273 - N1 (G27): the start sweep unlinks host.<id> files with no record in loaded businesses only, and refuses a store dir that is not private
---
duration_ms: 6.625194
type: 'test'
...
# Subtest: G12: the human's hosts.revoke deletes the record, the key file, the reference and the line, with a closed marker
ok 274 - G12: the human's hosts.revoke deletes the record, the key file, the reference and the line, with a closed marker
---
duration_ms: 679.122639
type: 'test'
...
# Subtest: G12 (N4): a revoke with no record still removes the computed tag's line, with granted false; bad args refuse
ok 275 - G12 (N4): a revoke with no record still removes the computed tag's line, with granted false; bad args refuse
---
duration_ms: 222.229005
type: 'test'
...
# Subtest: G13: a revoke during install aborts the executor, which ends revoked, and the line goes
ok 276 - G13: a revoke during install aborts the executor, which ends revoked, and the line goes
---
duration_ms: 573.10202
type: 'test'
...
# Subtest: G26: the human, the assistant and the tester revoke; the chief and a pm refuse; sweep is the human's or the tester's
ok 277 - G26: the human, the assistant and the tester revoke; the chief and a pm refuse; sweep is the human's or the tester's
---
duration_ms: 529.189537
type: 'test'
...
# Subtest: G27: a restart after step 1 sweeps the key file and runs step 3 once the bus is up; status shows the revoke until then
ok 278 - G27: a restart after step 1 sweeps the key file and runs step 3 once the bus is up; status shows the revoke until then
---
duration_ms: 661.516006
type: 'test'
...
# Subtest: G27: after step 2 with the host down, the restart closes the marker with hostLineLeft; a marker without a revoke id is not reopened
ok 279 - G27: after step 2 with the host down, the restart closes the marker with hostLineLeft; a marker without a revoke id is not reopened
---
duration_ms: 933.182585
type: 'test'
...
# Subtest: G27: a key file a revoke could not unlink is reported left and goes at the next start
ok 280 - G27: a key file a revoke could not unlink is reported left and goes at the next start
---
duration_ms: 664.092721
type: 'test'
...
# Subtest: G28: a commands change, then a revoke, then a restart leave no record, key, reference or line
ok 281 - G28: a commands change, then a revoke, then a restart leave no record, key, reference or line
---
duration_ms: 682.590262
type: 'test'
...
# Subtest: G24 (B4): hosts.sweep removes only this business's recorded tags no live grant holds, and records what it left
ok 282 - G24 (B4): hosts.sweep removes only this business's recorded tags no live grant holds, and records what it left
---
duration_ms: 983.692392
type: 'test'
...
# Subtest: G12: the local steps finish before the host step, so a host that hangs leaves the agent no access
ok 283 - G12: the local steps finish before the host step, so a host that hangs leaves the agent no access
---
duration_ms: 704.611985
type: 'test'
...
# Subtest: G23 (X5): a revoke right after the spend reaches the executor's claim, so the grant ends revoked
ok 284 - G23 (X5): a revoke right after the spend reaches the executor's claim, so the grant ends revoked
---
duration_ms: 203.253926
type: 'test'
...
# Subtest: G23 (X5): a revoke that lands as verify returns ends revoked with no record, key file or line
ok 285 - G23 (X5): a revoke that lands as verify returns ends revoked with no record, key file or line
---
duration_ms: 668.192803
type: 'test'
...
# Subtest: G13: a revoke whose host remove fails still drops the record and key, and reports the line left for a sweep
ok 286 - G13: a revoke whose host remove fails still drops the record and key, and reports the line left for a sweep
---
duration_ms: 676.425563
type: 'test'
...
# Subtest: G22: enroll, check, grant, host.run, a commands change the next host.run uses, and a revoke that kills a run in flight
ok 287 - G22: enroll, check, grant, host.run, a commands change the next host.run uses, and a revoke that kills a run in flight
---
duration_ms: 1126.03646
type: 'test'
...
# Subtest: mos-1163: a grant whose agent became a creative role after the raise ends host-creative-role at step 1, spent, with nothing remote
ok 288 - mos-1163: a grant whose agent became a creative role after the raise ends host-creative-role at step 1, spent, with nothing remote
---
duration_ms: 62.824096
type: 'test'
...
# Subtest: sage-1908: once the agent of an applied grant is a creative role, host.run refuses host-creative-role, runs nothing remote and keeps the record
ok 289 - sage-1908: once the agent of an applied grant is a creative role, host.run refuses host-creative-role, runs nothing remote and keeps the record
---
duration_ms: 507.699077
type: 'test'
...
# Subtest: G1 (host): only the chief raises a host grant, a grant on any other action refuses, and nothing is stored
ok 290 - G1 (host): only the chief raises a host grant, a grant on any other action refuses, and nothing is stored
---
duration_ms: 64.808393
type: 'test'
...
# Subtest: G1, R4: the grant takes exactly method, agent, host, commands and rotateBy, and an unknown method refuses
ok 291 - G1, R4: the grant takes exactly method, agent, host, commands and rotateBy, and an unknown method refuses
---
duration_ms: 90.06421
type: 'test'
...
# Subtest: row 236 (\#1742): a gitea grant on a broker with no Gitea path refuses gitea-not-configured, and nothing is stored
ok 292 - row 236 (\#1742): a gitea grant on a broker with no Gitea path refuses gitea-not-configured, and nothing is stored
---
duration_ms: 56.558402
type: 'test'
...
# Subtest: G2: an agent whose definition lacks host refuses host-not-declared, and an unknown agent unknown-role
ok 293 - G2: an agent whose definition lacks host refuses host-not-declared, and an unknown agent unknown-role
---
duration_ms: 52.083738
type: 'test'
...
# Subtest: mos-1163: a grant whose agent is a creative role refuses host-creative-role, even when its definition declares host
ok 294 - mos-1163: a grant whose agent is a creative role refuses host-creative-role, even when its definition declares host
---
duration_ms: 38.848084
type: 'test'
...
# Subtest: G3: wildcard, shell, empty and other 210 D6 argv prefixes refuse invalid-request
ok 295 - G3: wildcard, shell, empty and other 210 D6 argv prefixes refuse invalid-request
---
duration_ms: 96.60989
type: 'test'
...
# Subtest: R4 rotateBy (sage-1782): a real calendar day after today UTC, or invalid-request
ok 296 - R4 rotateBy (sage-1782): a real calendar day after today UTC, or invalid-request
---
duration_ms: 79.956574
type: 'test'
...
# Subtest: G19: a grant naming a host that is pending-install refuses host-not-ready, and an unknown host host-unknown
ok 297 - G19: a grant naming a host that is pending-install refuses host-not-ready, and an unknown host host-unknown
---
duration_ms: 64.550295
type: 'test'
...
# Subtest: R4, G5: the raise routes to the human and its event body binds the eight fields with their hashes
ok 298 - R4, G5: the raise routes to the human and its event body binds the eight fields with their hashes
---
duration_ms: 72.772054
type: 'test'
...
# Subtest: G4 (host block): the broker appends the host, each prefix, the rotate date and new key or change
ok 299 - G4 (host block): the broker appends the host, each prefix, the rotate date and new key or change
---
duration_ms: 101.887129
type: 'test'
...
# Subtest: 3i copy migrates to 3j: every row kept, and sqlite_master gains only the two tables, their keys and the guard
ok 300 - 3i copy migrates to 3j: every row kept, and sqlite_master gains only the two tables, their keys and the guard
---
duration_ms: 204.359337
type: 'test'
...
# Subtest: a 3i→3j step that fails partway leaves the store at 3i with every row and the schema intact
ok 301 - a 3i→3j step that fails partway leaves the store at 3i with every row and the schema intact
---
duration_ms: 181.317566
type: 'test'
...
# Subtest: the 3i engine refuses a 3j store, migrating or not, and leaves it at 3j
ok 302 - the 3i engine refuses a 3j store, migrating or not, and leaves it at 3j
---
duration_ms: 224.511199
type: 'test'
...
# Subtest: A22b, sage-1703: a session-written grant.* row from before the step survives it, and the grant readers ignore it
ok 303 - A22b, sage-1703: a session-written grant.* row from before the step survives it, and the grant readers ignore it
---
duration_ms: 186.247782
type: 'test'
...
# Subtest: the guard: a grant.* action or operation on action.allowed needs the (NULL, grant) actor
ok 304 - the guard: a grant.* action or operation on action.allowed needs the (NULL, grant) actor
---
duration_ms: 33.202172
type: 'test'
...
# Subtest: hosts: one record per business and host, a ready host has its installer and check, grants need the host
ok 305 - hosts: one record per business and host, a ready host has its installer and check, grants need the host
---
duration_ms: 24.287538
type: 'test'
...
# Subtest: REQ-WAIT-1: the broker hard waits are exactly the list, and match the business vocabulary
ok 306 - REQ-WAIT-1: the broker hard waits are exactly the list, and match the business vocabulary
---
duration_ms: 2.550996
type: 'test'
...
# Subtest: REQ-WAIT-2: a business granting a hard wait at either class is refused; the actions that left are grantable
ok 307 - REQ-WAIT-2: a business granting a hard wait at either class is refused; the actions that left are grantable
---
duration_ms: 44.415298
type: 'test'
...
# Subtest: REQ-DEC-2: every hard wait goes to the human, cited or not, and the arbiter cannot resolve it
ok 308 - REQ-DEC-2: every hard wait goes to the human, cited or not, and the arbiter cannot resolve it
---
duration_ms: 1180.169738
type: 'test'
...
# Subtest: REQ-DEC-2: a gated raise citing the current spec goes to the arbiter for its domain; uncited, to the human
ok 309 - REQ-DEC-2: a gated raise citing the current spec goes to the arbiter for its domain; uncited, to the human
---
duration_ms: 380.81546
type: 'test'
...
# Subtest: REQ-DEC-2: an arbiter-approved cited gated decision authorizes the raiser, and the human cannot resolve it
ok 310 - REQ-DEC-2: an arbiter-approved cited gated decision authorizes the raiser, and the human cannot resolve it
---
duration_ms: 102.88403
type: 'test'
...
# Subtest: REQ-DEC-2: a cited merge raised by merge-gate goes to the technical arbiter; a merge raised without the grant routes by citation
ok 311 - REQ-DEC-2: a cited merge raised by merge-gate goes to the technical arbiter; a merge raised without the grant routes by citation
---
duration_ms: 148.249903
type: 'test'
...
# Subtest: REQ-DEC-2: a stale or unconfirmed citation refuses without a decision; an arbiter raising its own goes to the human
ok 312 - REQ-DEC-2: a stale or unconfirmed citation refuses without a decision; an arbiter raising its own goes to the human
---
duration_ms: 205.979706
type: 'test'
...
# Subtest: Q169: the chief of staff's end of the assistant stops every thread run; its own run and another ender's are refused
ok 313 - Q169: the chief of staff's end of the assistant stops every thread run; its own run and another ender's are refused
---
duration_ms: 82.015805
type: 'test'
...
# Subtest: Q169: a revoke of the assistant the chief of staff raises goes to the human, cited or not, and no arbiter resolves it
ok 314 - Q169: a revoke of the assistant the chief of staff raises goes to the human, cited or not, and no arbiter resolves it
---
duration_ms: 228.342718
type: 'test'
...
# Subtest: Q169: another role's cited revoke of the assistant, resolved by an arbiter, is refused
ok 315 - Q169: another role's cited revoke of the assistant, resolved by an arbiter, is refused
---
duration_ms: 147.927262
type: 'test'
...
# Subtest: Q169: a revoke of the assistant citing a decision the human resolved stops its thread run
ok 316 - Q169: a revoke of the assistant citing a decision the human resolved stops its thread run
---
duration_ms: 109.726705
type: 'test'
...
# Subtest: Q169: a cited revoke of a role not in END_PROTECTED still goes to the arbiter, and executes
ok 317 - Q169: a cited revoke of a role not in END_PROTECTED still goes to the arbiter, and executes
---
duration_ms: 85.996116
type: 'test'
...
# Subtest: Q169: a role granted role.revoke at either class still sends a revoke of the assistant to the human
ok 318 - Q169: a role granted role.revoke at either class still sends a revoke of the assistant to the human
---
duration_ms: 133.288953
type: 'test'
...
# Subtest: row 280: an occupied TCP port is attempted, refused, and retried with our sshd
ok 319 - row 280: an occupied TCP port is attempted, refused, and retried with our sshd
---
duration_ms: 128.118699
type: 'test'
...
# Subtest: row 280: every injected picker sample is unprivileged and outside the ephemeral range
ok 320 - row 280: every injected picker sample is unprivileged and outside the ephemeral range
---
duration_ms: 0.637513
type: 'test'
...
# Subtest: the executor tests need sshd, ssh, ssh-agent, ssh-add, ssh-keygen and setpriv: a missing one fails, never skips
ok 321 - the executor tests need sshd, ssh, ssh-agent, ssh-add, ssh-keygen and setpriv: a missing one fails, never skips
---
duration_ms: 0.189057
type: 'test'
...
# Subtest: T3: organization.set, limits.set and instances.set refuse hosts, and the writer never runs
ok 322 - T3: organization.set, limits.set and instances.set refuse hosts, and the writer never runs
---
duration_ms: 48.235272
type: 'test'
...
# Subtest: T4: the value check takes one unencrypted ed25519 key and nothing else
ok 323 - T4: the value check takes one unencrypted ed25519 key and nothing else
---
duration_ms: 379.561927
type: 'test'
...
# Subtest: T5 to T8: registry, grant, argv shape and allowlist refusals
ok 324 - T5 to T8: registry, grant, argv shape and allowlist refusals
---
duration_ms: 712.532287
type: 'test'
...
# Subtest: T9: under 1.7 every call needs a decision bound to its host, argv and stdin, spent once
ok 325 - T9: under 1.7 every call needs a decision bound to its host, argv and stdin, spent once
---
duration_ms: 412.730649
type: 'test'
...
# Subtest: T10, T11: argv reaches sudo unchanged after sudo -n --
ok 326 - T10, T11: argv reaches sudo unchanged after sudo -n --
---
duration_ms: 339.153135
type: 'test'
...
# Subtest: T12, T13: exit code passes through, the timeout kills the group, output is capped
ok 327 - T12, T13: exit code passes through, the timeout kills the group, output is capped
---
duration_ms: 1794.290606
type: 'test'
...
# Subtest: T14: a host key not in the registry refuses and nothing runs
ok 328 - T14: a host key not in the registry refuses and nothing runs
---
duration_ms: 338.231738
type: 'test'
...
# Subtest: G18: hosts.check with a wrong pin refuses host-key-mismatch and runs nothing on the host
ok 329 - G18: hosts.check with a wrong pin refuses host-key-mismatch and runs nothing on the host
---
duration_ms: 416.644392
type: 'test'
...
# Subtest: N3: a remote exit 255 that prints the pin refusal text is the command result, and an ssh failure keeps its message
ok 330 - N3: a remote exit 255 that prints the pin refusal text is the command result, and an ssh failure keeps its message
---
duration_ms: 419.579479
type: 'test'
...
# Subtest: T15: ssh reads no config file and no user known_hosts
ok 331 - T15: ssh reads no config file and no user known_hosts
---
duration_ms: 345.43095
type: 'test'
...
# Subtest: T16, T17: key material in output or stdin refuses credential-leak, and no event holds it
ok 332 - T16, T17: key material in output or stdin refuses credential-leak, and no event holds it
---
duration_ms: 751.118372
type: 'test'
...
# Subtest: T18, T19, T20: one call at a time, no key in any argv or env, and nothing left after
ok 333 - T18, T19, T20: one call at a time, no key in any argv or env, and nothing left after
---
duration_ms: 4704.187987
type: 'test'
...
# Subtest: T21: revoke kills the call in flight, and the next call refuses
ok 334 - T21: revoke kills the call in flight, and the next call refuses
---
duration_ms: 292.145564
type: 'test'
...
# Subtest: T22: events carry host, address, user and argv in clear, and sizes and hashes only
ok 335 - T22: events carry host, address, user and argv in clear, and sizes and hashes only
---
duration_ms: 263.644546
type: 'test'
...
# Subtest: T24: no literal gitea and vikunja kind list outside vocabulary.mjs, and the credential use sites are known
ok 336 - T24: no literal gitea and vikunja kind list outside vocabulary.mjs, and the credential use sites are known
---
duration_ms: 15.566079
type: 'test'
...
# Subtest: T25: no role definition lists host.sudo while it is a hard wait
ok 337 - T25: no role definition lists host.sudo while it is a hard wait
---
duration_ms: 0.472349
type: 'test'
...
# Subtest: T27: the bus child dying takes ssh and ssh-agent with it
ok 338 - T27: the bus child dying takes ssh and ssh-agent with it
---
duration_ms: 319.251919
type: 'test'
...
# Subtest: T27: ssh-add -t drops the key from an agent the test keeps alive
ok 339 - T27: ssh-add -t drops the key from an agent the test keeps alive
---
duration_ms: 3553.070265
type: 'test'
...
# Subtest: N2: a hung ssh-add is killed at its limit or on abort, and nothing is left running
ok 340 - N2: a hung ssh-add is killed at its limit or on abort, and nothing is left running
---
duration_ms: 426.911568
type: 'test'
...
# Subtest: T27: the start sweep keeps a live bus dir and kills only a matching live process
ok 341 - T27: the start sweep keeps a live bus dir and kills only a matching live process
---
duration_ms: 26.589421
type: 'test'
...
# Subtest: T27: the bus start sweeps <configDir>/secrets/run before it listens, and a stray entry stops the start
ok 342 - T27: the bus start sweeps <configDir>/secrets/run before it listens, and a stray entry stops the start
---
duration_ms: 57.908248
type: 'test'
...
# Subtest: M3: host.run refuses host-not-granted unless the grant record has an approved, spent host grant
ok 343 - M3: host.run refuses host-not-granted unless the grant record has an approved, spent host grant
---
duration_ms: 130.28532
type: 'test'
...
# Subtest: M3: a host_grants record gives Credentials a store reference at start, and a restart reads its key
ok 344 - M3: a host_grants record gives Credentials a store reference at start, and a restart reads its key
---
duration_ms: 94.277016
type: 'test'
...
# Subtest: G16: the writer refuses each user, tag and key the design names, before any key file
ok 345 - G16: the writer refuses each user, tag and key the design names, before any key file
---
duration_ms: 4269.090428
type: 'test'
...
# Subtest: G16: from= comes from the host file, a privileged user skips the group and sudo checks, and the line is exact
ok 346 - G16: from= comes from the host file, a privileged user skips the group and sudo checks, and the line is exact
---
duration_ms: 985.516663
type: 'test'
...
# Subtest: G16: list shows tagged lines only, and add and remove never touch a line outside the tag pattern
ok 347 - G16: list shows tagged lines only, and add and remove never touch a line outside the tag pattern
---
duration_ms: 463.850652
type: 'test'
...
# Subtest: G25: the writer refuses a symlinked dir or user file, a group-writable dir and an odd tmp, and writes 0644
ok 348 - G25: the writer refuses a symlinked dir or user file, a group-writable dir and an odd tmp, and writes 0644
---
duration_ms: 599.34136
type: 'test'
...
# Subtest: G16: mosaic-keys passes the three requests to the writer through sudo and refuses anything else without it
ok 349 - G16: mosaic-keys passes the three requests to the writer through sudo and refuses anything else without it
---
duration_ms: 132.659503
type: 'test'
...
# Subtest: E3: the sudoers line and the sshd drop-in are the design lines and parse
ok 350 - E3: the sudoers line and the sshd drop-in are the design lines and parse
---
duration_ms: 23.957336
type: 'test'
...
# Subtest: human proof binds CLI entry, process start and nonce; agents and incomplete ancestry refuse
ok 351 - human proof binds CLI entry, process start and nonce; agents and incomplete ancestry refuse
---
duration_ms: 3.048064
type: 'test'
...
# Subtest: process reader gets own kernel identity without exposing environment values
ok 352 - process reader gets own kernel identity without exposing environment values
---
duration_ms: 0.961242
type: 'test'
...
# Subtest: EACCES ancestor environments skip only markers; commands and registered launches still refuse
ok 353 - EACCES ancestor environments skip only markers; commands and registered launches still refuse
---
duration_ms: 1.170788
type: 'test'
...
# Subtest: real pid 1 remains inspectable when its environment is protected
ok 354 - real pid 1 remains inspectable when its environment is protected
---
duration_ms: 0.609375
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: row 165: instances and instances.set refuse every non-human session but the tester, the chief of staff included, and pass the verified actor
ok 355 - row 165: instances and instances.set refuse every non-human session but the tester, the chief of staff included, and pass the verified actor
---
duration_ms: 73.861853
type: 'test'
...
# Subtest: row 165 runtime: an add and a change reach the organization file with the human as actor; each refusal keeps the bytes and logs nothing
ok 356 - row 165 runtime: an add and a change reach the organization file with the human as actor; each refusal keeps the bytes and logs nothing
---
duration_ms: 300.7885
type: 'test'
...
# Subtest: row 194 T12: agent and reader sessions refuse veto.set; the tester gets add and change but not delete or veto.set; the human passes the hook for each listed verb
ok 357 - row 194 T12: agent and reader sessions refuse veto.set; the tester gets add and change but not delete or veto.set; the human passes the hook for each listed verb
---
duration_ms: 58.442461
type: 'test'
...
# Subtest: system Python is a resolved root-owned ELF, never a shim or home interpreter
ok 358 - system Python is a resolved root-owned ELF, never a shim or home interpreter
---
duration_ms: 4.037838
type: 'test'
...
# Subtest: real system interpreter is available and safely inspected
ok 359 - real system interpreter is available and safely inspected
---
duration_ms: 40.886944
type: 'test'
...
# Subtest: restart receipt appends actual replacement identity and refuses unsafe files
ok 360 - restart receipt appends actual replacement identity and refuses unsafe files
---
duration_ms: 5.415592
type: 'test'
...
# Subtest: activation gate compares fresh startup receipt to the current interpreter identity
ok 361 - activation gate compares fresh startup receipt to the current interpreter identity
---
duration_ms: 2.744213
type: 'test'
...
# Subtest: non-regular startup receipt refuses promptly without waiting on a FIFO peer
ok 362 - non-regular startup receipt refuses promptly without waiting on a FIFO peer
---
duration_ms: 64.664529
type: 'test'
...
# Subtest: REQ-DEC-2: a merge-gate raise its arbiter resolved lands through the host op: checkLand answers the facts and a ticket, records nothing, and recordLand spends the decision once
ok 363 - REQ-DEC-2: a merge-gate raise its arbiter resolved lands through the host op: checkLand answers the facts and a ticket, records nothing, and recordLand spends the decision once
---
duration_ms: 79.221001
type: 'test'
...
# Subtest: checkLand refuses on the decision and the review
ok 364 - checkLand refuses on the decision and the review
---
duration_ms: 89.77545
type: 'test'
...
# Subtest: REQ-LAND-1: a gated merge decision refuses not-authorized, cited and approved by the arbiter or uncited and approved by the human
ok 365 - REQ-LAND-1: a gated merge decision refuses not-authorized, cited and approved by the arbiter or uncited and approved by the human
---
duration_ms: 239.785661
type: 'test'
...
# Subtest: REQ-LAND-1: a within-role merge grant refuses not-authorized at the land
ok 366 - REQ-LAND-1: a within-role merge grant refuses not-authorized at the land
---
duration_ms: 39.345084
type: 'test'
...
# Subtest: a cross-role merge that routes to the human, because merge-gate is its own arbiter, lands on the human's CLI answer
ok 367 - a cross-role merge that routes to the human, because merge-gate is its own arbiter, lands on the human's CLI answer
---
duration_ms: 54.599737
type: 'test'
...
# Subtest: a merge option with no first line refuses no-subject, as land-work does
ok 368 - a merge option with no first line refuses no-subject, as land-work does
---
duration_ms: 47.152764
type: 'test'
...
# Subtest: checkLand refuses with land-work's codes past the authority check, and a decision raised for refactor never lands
ok 369 - checkLand refuses with land-work's codes past the authority check, and a decision raised for refactor never lands
---
duration_ms: 150.761517
type: 'test'
...
# Subtest: a ticket outlives the run that asked, and recordLand checks the task again
ok 370 - a ticket outlives the run that asked, and recordLand checks the task again
---
duration_ms: 51.426984
type: 'test'
...
# Subtest: two tickets on one decision: the first recordLand lands, the second refuses decision-consumed and records nothing
ok 371 - two tickets on one decision: the first recordLand lands, the second refuses decision-consumed and records nothing
---
duration_ms: 54.347921
type: 'test'
...
# Subtest: landRefused files the code on the task, tells the role only with notify, and ends the ticket
ok 372 - landRefused files the code on the task, tells the role only with notify, and ends the ticket
---
duration_ms: 59.911625
type: 'test'
...
# Subtest: landHeld is true only for an approved, unspent cross-role merge decision this role raised for a task in this thread
ok 373 - landHeld is true only for an approved, unspent cross-role merge decision this role raised for a task in this thread
---
duration_ms: 59.234745
type: 'test'
...
# Subtest: landHolders lists a merge decision exactly while landHeld is true for its non-thread instance, in decision order
ok 374 - landHolders lists a merge decision exactly while landHeld is true for its non-thread instance, in decision order
---
duration_ms: 79.894042
type: 'test'
...
# Subtest: landHolders leaves out a thread instance's decision, even one raised before its role became one
ok 375 - landHolders leaves out a thread instance's decision, even one raised before its role became one
---
duration_ms: 54.811926
type: 'test'
...
# Subtest: landRelease releases the holding run by land-relaunch once it has asked message.receive and nothing delivered to it is unread, and waiting messages go to the next holder
ok 376 - landRelease releases the holding run by land-relaunch once it has asked message.receive and nothing delivered to it is unread, and waiting messages go to the next holder
---
duration_ms: 74.51317
type: 'test'
...
# Subtest: a landing run started after the resolution passes checkLand for its held decision before any message.receive, and lands it
ok 377 - a landing run started after the resolution passes checkLand for its held decision before any message.receive, and lands it
---
duration_ms: 58.923023
type: 'test'
...
# Subtest: the bus process answers landHolders and landRelease from their own lines, not as credentialStatus
ok 378 - the bus process answers landHolders and landRelease from their own lines, not as credentialStatus
---
duration_ms: 231.954582
type: 'test'
...
# Subtest: usage.begin with a decision id needs it held for the run's instance, usage.end needs the begin, and the limit checks see the landing turn
ok 379 - usage.begin with a decision id needs it held for the run's instance, usage.end needs the begin, and the limit checks see the landing turn
---
duration_ms: 75.490137
type: 'test'
...
# Subtest: no run may write the action.allowed for git.merge.protected itself
ok 380 - no run may write the action.allowed for git.merge.protected itself
---
duration_ms: 40.139312
type: 'test'
...
# Subtest: a message to a stopped role sends launch.by one notice, and the result says so
ok 381 - a message to a stopped role sends launch.by one notice, and the result says so
---
duration_ms: 81.207327
type: 'test'
...
# Subtest: a message to a role outside launch.instances says so in its result and in the notice
ok 382 - a message to a role outside launch.instances says so in its result and in the notice
---
duration_ms: 37.510415
type: 'test'
...
# Subtest: a message to a running role sends no notice and its result is unchanged
ok 383 - a message to a running role sends no notice and its result is unchanged
---
duration_ms: 32.664098
type: 'test'
...
# Subtest: a re-route at a claim, a release and claim, and a broker restart send no second notice
ok 384 - a re-route at a claim, a release and claim, and a broker restart send no second notice
---
duration_ms: 53.875012
type: 'test'
...
# Subtest: a run launched but not yet claimed counts as no holder
ok 385 - a run launched but not yet claimed counts as no holder
---
duration_ms: 27.83208
type: 'test'
...
# Subtest: no notice for a message to launch.by, from it, a refused one from a tester, to the human, or in a thread to a thread instance
ok 386 - no notice for a message to launch.by, from it, a refused one from a tester, to the human, or in a thread to a thread instance
---
duration_ms: 47.663531
type: 'test'
...
# Subtest: a business with no launch block tells nobody and says there is no launcher
ok 387 - a business with no launch block tells nobody and says there is no launcher
---
duration_ms: 24.468939
type: 'test'
...
# Subtest: the notice sender stays internal: no role is named _bus and no caller can send as it or to it
ok 388 - the notice sender stays internal: no role is named _bus and no caller can send as it or to it
---
duration_ms: 65.657208
type: 'test'
...
# Subtest: C2-03a library.sync: every agent, the tester and a reader are refused before the adapter runs
ok 389 - C2-03a library.sync: every agent, the tester and a reader are refused before the adapter runs
---
duration_ms: 41.750173
type: 'test'
...
# Subtest: C2-03a library.sync: the human fetches, accept passes through, and a held sync is a recorded refusal
ok 390 - C2-03a library.sync: the human fetches, accept passes through, and a held sync is a recorded refusal
---
duration_ms: 32.356931
type: 'test'
...
# Subtest: C2-03a library.sync: a LibraryError keeps its code and a host without sync is not configured
ok 391 - C2-03a library.sync: a LibraryError keeps its code and a host without sync is not configured
---
duration_ms: 48.733868
type: 'test'
...
# Subtest: C2-03a runtime: a librarySync from a boot config, with no function, is refused
ok 392 - C2-03a runtime: a librarySync from a boot config, with no function, is refused
---
duration_ms: 2.166626
type: 'test'
...
# Subtest: C2-03a runtime: the timer syncs each entry with a user at start and on each tick, logs codes only, and stops on close
ok 393 - C2-03a runtime: the timer syncs each entry with a user at start and on each tick, logs codes only, and stops on close
---
duration_ms: 841.818613
type: 'test'
...
# Subtest: row 254 human-cli: library.sync outlasts the 5 s client default, and library.status does not
ok 394 - row 254 human-cli: library.sync outlasts the 5 s client default, and library.status does not
---
duration_ms: 6132.282171
type: 'test'
...
# Subtest: C2-04 M4: both verbs reject every agent before arguments or adapter access
ok 395 - C2-04 M4: both verbs reject every agent before arguments or adapter access
---
duration_ms: 72.581761
type: 'test'
...
# Subtest: C2-04 bus: human reads validate keys and return adapter results without path leakage
ok 396 - C2-04 bus: human reads validate keys and return adapter results without path leakage
---
duration_ms: 36.363805
type: 'test'
...
# Subtest: C2-04 socket: each async library verb resolves its result rather than serializing {}
ok 397 - C2-04 socket: each async library verb resolves its result rather than serializing {}
---
duration_ms: 138.52603
type: 'test'
...
# Subtest: C2-04 runtime: protectedRoots skips library but retains real code-root credential protection
ok 398 - C2-04 runtime: protectedRoots skips library but retains real code-root credential protection
---
duration_ms: 194.349507
type: 'test'
...
# Subtest: C2-04 runtime: unsafe existing mirror refuses boot and never publishes a socket
ok 399 - C2-04 runtime: unsafe existing mirror refuses boot and never publishes a socket
---
duration_ms: 53.423856
type: 'test'
...
# Subtest: C2-04 runtime: real library adapters reach the socket and lock waits leave other bus reads responsive
ok 400 - C2-04 runtime: real library adapters reach the socket and lock waits leave other bus reads responsive
---
duration_ms: 408.452218
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: T20 fire: a revoke that fails stops the fire with the file unchanged; one that succeeds revokes, keeps the directory and names the services outside the store
ok 401 - T20 fire: a revoke that fails stops the fire with the file unchanged; one that succeeds revokes, keeps the directory and names the services outside the store
---
duration_ms: 192.764625
type: 'test'
...
# Subtest: T20 fire: an instance already delisted still has its tokens revoked and the file is left alone
ok 402 - T20 fire: an instance already delisted still has its tokens revoked and the file is left alone
---
duration_ms: 101.942259
type: 'test'
...
# Subtest: T20 fire: with no entry in the running bus, a token on disk refuses and an empty store goes on
ok 403 - T20 fire: with no entry in the running bus, a token on disk refuses and an empty store goes on
---
duration_ms: 105.190787
type: 'test'
...
# Subtest: T20 delete: a revoke that fails keeps the file; one that succeeds clears the store, deletes, and names the tracker bot
ok 404 - T20 delete: a revoke that fails keeps the file; one that succeeds clears the store, deletes, and names the tracker bot
---
duration_ms: 159.019407
type: 'test'
...
# Subtest: T20 delete: with no entry in the running bus, a token file is cleared and the delete goes on; a file reference refuses
ok 405 - T20 delete: with no entry in the running bus, a token file is cleared and the delete goes on; a file reference refuses
---
duration_ms: 99.699789
type: 'test'
...
# Subtest: T21 delete: a write between the raise and the take makes the delete refuse revision-conflict before it revokes anything
ok 406 - T21 delete: a write between the raise and the take makes the delete refuse revision-conflict before it revokes anything
---
duration_ms: 102.141503
type: 'test'
...
# Subtest: row 194 T12: agent and reader sessions refuse the lifecycle verbs before any effect; the tester gets launch, end and the request read, never regenerate
ok 407 - row 194 T12: agent and reader sessions refuse the lifecycle verbs before any effect; the tester gets launch, end and the request read, never regenerate
---
duration_ms: 72.058588
type: 'test'
...
# Subtest: row 194 V2 and V4 at the verb: the request is open, by the human, with a human.input; thread, retired, unknown and revoked refuse with no event
ok 408 - row 194 V2 and V4 at the verb: the request is open, by the human, with a human.input; thread, retired, unknown and revoked refuse with no event
---
duration_ms: 55.513672
type: 'test'
...
# Subtest: row 194 D1.1 take: a request is taken once, closes once, and lifecycleRequests lists only what is not closed
ok 409 - row 194 D1.1 take: a request is taken once, closes once, and lifecycleRequests lists only what is not closed
---
duration_ms: 38.782
type: 'test'
...
# Subtest: row 194 D1.1 take: a launch.revoke after the request closes it launch-revoked, and a request past 60 s closes request-expired
ok 410 - row 194 D1.1 take: a launch.revoke after the request closes it launch-revoked, and a request past 60 s closes request-expired
---
duration_ms: 41.478249
type: 'test'
...
# Subtest: row 194 T15 (bus): while halted, launch and regenerate refuse processing-halted at the verb and at the take, hire and fire refuse, terminate goes; an unreadable switch refuses with its code
ok 411 - row 194 T15 (bus): while halted, launch and regenerate refuse processing-halted at the verb and at the take, hire and fire refuse, terminate goes; an unreadable switch refuses with its code
---
duration_ms: 55.329832
type: 'test'
...
# Subtest: row 194 T12a: the tester launches and ends on its own business with actor tester; bus.tester off in the file refuses the call and the take tester-off
ok 412 - row 194 T12a: the tester launches and ends on its own business with actor tester; bus.tester off in the file refuses the call and the take tester-off
---
duration_ms: 43.9659
type: 'test'
...
# Subtest: row 194 V3 terminate: claims revoked, open requests cancelled, bound runs named, taken requests listed; nothing at all answers not-held
ok 413 - row 194 V3 terminate: claims revoked, open requests cancelled, bound runs named, taken requests listed; nothing at all answers not-held
---
duration_ms: 53.206063
type: 'test'
...
# Subtest: row 194 V3 terminate of a thread instance: the human ends every thread, the tester only its own
ok 414 - row 194 V3 terminate of a thread instance: the human ends every thread, the tester only its own
---
duration_ms: 38.69515
type: 'test'
...
# Subtest: row 194 T6 V5 order at the verb: the writer's named refusals, then instance-running, instance-starting, the last-listed refusal and the revision
ok 415 - row 194 T6 V5 order at the verb: the writer's named refusals, then instance-running, instance-starting, the last-listed refusal and the revision
---
duration_ms: 63.757803
type: 'test'
...
# Subtest: row 194 V5: an open launch past its 60 s is not starting, as it can only close request-expired
ok 416 - row 194 V5: an open launch past its 60 s is not starting, as it can only close request-expired
---
duration_ms: 28.071253
type: 'test'
...
# Subtest: row 194 V5 after the take: lifecycleDelete re-checks running and starting, then commits through the writer with the human as actor
ok 417 - row 194 V5 after the take: lifecycleDelete re-checks running and starting, then commits through the writer with the human as actor
---
duration_ms: 45.577494
type: 'test'
...
# Subtest: row 194 V5 retry: a retired name deletes again only after workspace-rename-failed, and that request commits nothing
ok 418 - row 194 V5 retry: a retired name deletes again only after workspace-rename-failed, and that request commits nothing
---
duration_ms: 41.271578
type: 'test'
...
# Subtest: row 194 V5 runtime: a delete request, the take and lifecycleDelete commit the file with retired, log the human and reload so the name no longer binds
ok 419 - row 194 V5 runtime: a delete request, the take and lifecycleDelete commit the file with retired, log the human and reload so the name no longer binds
---
duration_ms: 246.434061
type: 'test'
...
# Subtest: REQ-LIMIT-3 limitLeaves finds every limit object and skips the agent numbers
ok 420 - REQ-LIMIT-3 limitLeaves finds every limit object and skips the agent numbers
---
duration_ms: 2.573679
type: 'test'
...
# Subtest: REQ-LIMIT-3 limitLeaves takes token limits at schema depth only, whatever their names
ok 421 - REQ-LIMIT-3 limitLeaves takes token limits at schema depth only, whatever their names
---
duration_ms: 0.420514
type: 'test'
...
# Subtest: REQ-LIMIT-3 with no check switched on a launch is allowed, a turn never stops, and every limit is not enforced
ok 422 - REQ-LIMIT-3 with no check switched on a launch is allowed, a turn never stops, and every limit is not enforced
---
duration_ms: 26.621953
type: 'test'
...
# Subtest: REQ-LIMIT-3 a fixture check that refuses refuses the launch and stops the turn, logged with the limit and the count
ok 423 - REQ-LIMIT-3 a fixture check that refuses refuses the launch and stops the turn, logged with the limit and the count
---
duration_ms: 28.596105
type: 'test'
...
# Subtest: REQ-LIMIT-3 a report that omits a limit shows it not enforced; a counted entry and a reason come through
ok 424 - REQ-LIMIT-3 a report that omits a limit shows it not enforced; a counted entry and a reason come through
---
duration_ms: 28.489777
type: 'test'
...
# Subtest: REQ-LIMIT-4 each check gets the business, a copy of the limits, the subject, the records and the time
ok 425 - REQ-LIMIT-4 each check gets the business, a copy of the limits, the subject, the records and the time
---
duration_ms: 28.725506
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: a throw refuses, stops and fails the report, naming the check and the code
ok 426 - REQ-LIMIT-4 fail closed: a throw refuses, stops and fails the report, naming the check and the code
---
duration_ms: 23.582044
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: a malformed answer, a promise, a rejected promise, a non-boolean or a bad hit is malformed-answer
ok 427 - REQ-LIMIT-4 fail closed: a malformed answer, a promise, a rejected promise, a non-boolean or a bad hit is malformed-answer
---
duration_ms: 31.348187
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: a check switched on but not loaded refuses, stops and fails every limit as not-loaded
ok 428 - REQ-LIMIT-4 fail closed: a check switched on but not loaded refuses, stops and fails every limit as not-loaded
---
duration_ms: 20.56936
type: 'test'
...
# Subtest: REQ-LIMIT-4 state(), never-loaded case: before any load the report shows not enforced, or not-loaded for a switched-on check
ok 429 - REQ-LIMIT-4 state(), never-loaded case: before any load the report shows not enforced, or not-loaded for a switched-on check
---
duration_ms: 20.68074
type: 'test'
...
# Subtest: REQ-LIMIT-4 state(), first-load-refused case: a check refused on its first load is not-loaded in mayLaunch, mustStop and report
ok 430 - REQ-LIMIT-4 state(), first-load-refused case: a check refused on its first load is not-loaded in mayLaunch, mustStop and report
---
duration_ms: 22.83876
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: an unreadable organization file refuses and stops with check null; the report throws
ok 431 - REQ-LIMIT-4 fail closed: an unreadable organization file refuses and stops with check null; the report throws
---
duration_ms: 20.932844
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: unreadable records refuse and stop with check null and fail the report
ok 432 - REQ-LIMIT-4 fail closed: unreadable records refuse and stop with check null and fail the report
---
duration_ms: 1.042539
type: 'test'
...
# Subtest: REQ-LIMIT-3 the shipped token-limit, through the real loader, counts known records only since the limit was set
ok 433 - REQ-LIMIT-3 the shipped token-limit, through the real loader, counts known records only since the limit was set
---
duration_ms: 30.664512
type: 'test'
...
# Subtest: REQ-LIMIT-3 a token limit for a provider named limit is counted and refuses, beside an agent limit of the same name
ok 434 - REQ-LIMIT-3 a token limit for a provider named limit is counted and refuses, beside an agent limit of the same name
---
duration_ms: 24.886781
type: 'test'
...
# Subtest: REQ-LIMIT-3 core reaches limit checks only through the plug-in loader
ok 435 - REQ-LIMIT-3 core reaches limit checks only through the plug-in loader
---
duration_ms: 2.198652
type: 'test'
...
# Subtest: REQ-LIMIT-4 a role run at its limit stops at the end of its turn: RESULT and read land first, the claim is revoked by limit-check
ok 436 - REQ-LIMIT-4 a role run at its limit stops at the end of its turn: RESULT and read land first, the claim is revoked by limit-check
---
duration_ms: 59.312238
type: 'test'
...
# Subtest: REQ-LIMIT-4 the stop also lands on state; a run with no stop ends without a limit
ok 437 - REQ-LIMIT-4 the stop also lands on state; a run with no stop ends without a limit
---
duration_ms: 58.844001
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: a mustStop throw or a malformed answer stops the run, naming the bus and the code
ok 438 - REQ-LIMIT-4 fail closed: a mustStop throw or a malformed answer stops the run, naming the bus and the code
---
duration_ms: 168.030259
type: 'test'
...
# Subtest: REQ-LIMIT-4 a thread run at its limit is released with the reason, and its end record names the limit
ok 439 - REQ-LIMIT-4 a thread run at its limit is released with the reason, and its end record names the limit
---
duration_ms: 49.534141
type: 'test'
...
# Subtest: REQ-LIMIT-4 a broker with no limit checks configured never stops a run
ok 440 - REQ-LIMIT-4 a broker with no limit checks configured never stops a run
---
duration_ms: 37.103293
type: 'test'
...
# limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mayLaunch","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":0}
# organization: {"event":"reload-needs-restart","business":"demo"}
# usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"c9e0972e-d255-4176-8a2c-ddd4b552071c","source":"@none","code":"baseline-unknown"}
# limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mustStop","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":1}
# usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"f9419bd0-2014-4ab5-b268-58f4a6a920d3","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 runtime: limits carries the token count, mayLaunch refuses at the limit, a reset moves since
# organization: {"event":"reload-needs-restart","business":"demo"}
ok 441 - REQ-LIMIT-3 REQ-LIMIT-4 runtime: limits carries the token count, mayLaunch refuses at the limit, a reset moves since
---
duration_ms: 247.651779
type: 'test'
...
# Subtest: REQ-LIMIT-3 runtime: with no limit check switched on, the limit shows not enforced and every launch is allowed
ok 442 - REQ-LIMIT-3 runtime: with no limit check switched on, the limit shows not enforced and every launch is allowed
---
duration_ms: 73.049565
type: 'test'
...
# Subtest: REQ-LIMIT-4 runtime: the broker asks the shipped token-limit after a turn, and the run at its limit stops on its next receive
ok 443 - REQ-LIMIT-4 runtime: the broker asks the shipped token-limit after a turn, and the run at its limit stops on its next receive
---
duration_ms: 94.373494
type: 'test'
...
# Subtest: REQ-LIMIT-4 runtime: with no usage source a turn is unknown, counts zero and stops nothing under a limit of 1
ok 444 - REQ-LIMIT-4 runtime: with no usage source a turn is unknown, counts zero and stops nothing under a limit of 1
---
duration_ms: 89.637184
type: 'test'
...
# Subtest: REQ-LIMIT-3 runtime: switching a limit check on with plugins.set loads it without a launch or a turn
ok 445 - REQ-LIMIT-3 runtime: switching a limit check on with plugins.set loads it without a launch or a turn
---
duration_ms: 110.149834
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: limits binds actor from human proof and rejects role, reader, a tester set and forged actor
ok 446 - limits binds actor from human proof and rejects role, reader, a tester set and forged actor
---
duration_ms: 39.669316
type: 'test'
...
# Subtest: runtime wires verified human settings to the actual shared file writer and actor receipt
ok 447 - runtime wires verified human settings to the actual shared file writer and actor receipt
---
duration_ms: 193.209861
type: 'test'
...
# Subtest: uncertain organization receipts leave bus startup and reads alone but refuse writes until reconciled
ok 448 - uncertain organization receipts leave bus startup and reads alone but refuse writes until reconciled
---
duration_ms: 119.419092
type: 'test'
...
# Subtest: within-role sends cite an open gated launch decision without spending it or naming it in grants
ok 449 - within-role sends cite an open gated launch decision without spending it or naming it in grants
---
duration_ms: 54.440682
type: 'test'
...
# Subtest: missing and foreign-business citations refuse and roll back message and grant
ok 450 - missing and foreign-business citations refuse and roll back message and grant
---
duration_ms: 36.979113
type: 'test'
...
# Subtest: cross-role sends still need a matching resolved decision and consume it once
ok 451 - cross-role sends still need a matching resolved decision and consume it once
---
duration_ms: 46.567847
type: 'test'
...
# Subtest: trail on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester
ok 452 - trail on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester
---
duration_ms: 46.29208
type: 'test'
...
# Subtest: replies on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester
ok 453 - replies on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester
---
duration_ms: 48.146073
type: 'test'
...
# Subtest: trail on a decision keeps the decision and drops the user thread messages, their deliveries and their events
ok 454 - trail on a decision keeps the decision and drops the user thread messages, their deliveries and their events
---
duration_ms: 57.643676
type: 'test'
...
# Subtest: replies leaves out other users thread messages and still fills a page
ok 455 - replies leaves out other users thread messages and still fills a page
---
duration_ms: 333.999044
type: 'test'
...
# Subtest: messages in the business human and tester threads are not hidden (row 177 unchanged)
ok 456 - messages in the business human and tester threads are not hidden (row 177 unchanged)
---
duration_ms: 64.272051
type: 'test'
...
# Subtest: governance pin: the owner sees decisions, inbox entries, claims, tasks and project files, but not the user messages
ok 457 - governance pin: the owner sees decisions, inbox entries, claims, tasks and project files, but not the user messages
---
duration_ms: 191.73222
type: 'test'
...
# Subtest: messages pages all human messages newest first without writes; read state is history
ok 458 - messages pages all human messages newest first without writes; read state is history
---
duration_ms: 572.992437
type: 'test'
...
# Subtest: messages refuses role callers, invalid paging and cursors outside this human feed
ok 459 - messages refuses role callers, invalid paging and cursors outside this human feed
---
duration_ms: 46.69322
type: 'test'
...
# Subtest: views messages passes only its paging arguments through
ok 460 - views messages passes only its paging arguments through
---
duration_ms: 0.403201
type: 'test'
...
# Subtest: messages isolates businesses even with a valid foreign cursor
ok 461 - messages isolates businesses even with a valid foreign cursor
---
duration_ms: 33.276541
type: 'test'
...
# Subtest: the assistant sends to the user and to the chief of staff only
ok 462 - the assistant sends to the user and to the chief of staff only
---
duration_ms: 73.870592
type: 'test'
...
# Subtest: an assistant send to any other role, or to the tester, is refused and logged
ok 463 - an assistant send to any other role, or to the tester, is refused and logged
---
duration_ms: 59.822309
type: 'test'
...
# Subtest: only the user and the chief of staff may send to the assistant; the tester is refused by default
ok 464 - only the user and the chief of staff may send to the assistant; the tester is refused by default
---
duration_ms: 53.889974
type: 'test'
...
# Subtest: REQ-ASSIST-2 REQ-THREAD-1 thread.send to an instance that does not hear from the user is refused and stores nothing
ok 465 - REQ-ASSIST-2 REQ-THREAD-1 thread.send to an instance that does not hear from the user is refused and stores nothing
---
duration_ms: 45.069155
type: 'test'
...
# Subtest: a sender-side list alone refuses a send to a role that has no list
ok 466 - a sender-side list alone refuses a send to a role that has no list
---
duration_ms: 48.513172
type: 'test'
...
# Subtest: a target-side list alone refuses a send from a role that has no list
ok 467 - a target-side list alone refuses a send from a role that has no list
---
duration_ms: 55.051682
type: 'test'
...
# Subtest: the sender list is checked before the target list
ok 468 - the sender list is checked before the target list
---
duration_ms: 47.346082
type: 'test'
...
# Subtest: roles without the field behave exactly as before
ok 469 - roles without the field behave exactly as before
---
duration_ms: 64.329651
type: 'test'
...
# Subtest: a business with no role definitions at all is unlimited
ok 470 - a business with no role definitions at all is unlimited
---
duration_ms: 73.685041
type: 'test'
...
# Subtest: a malformed messaging field refuses at boot
ok 471 - a malformed messaging field refuses at boot
---
duration_ms: 29.471449
type: 'test'
...
# Subtest: the assistant's review.request to a reviewer is refused and logged, even with an approved decision
ok 472 - the assistant's review.request to a reviewer is refused and logged, even with an approved decision
---
duration_ms: 55.183437
type: 'test'
...
# Subtest: a review.verdict to the assistant from a role outside its receiveFrom is refused and logged
ok 473 - a review.verdict to the assistant from a role outside its receiveFrom is refused and logged
---
duration_ms: 73.034239
type: 'test'
...
# Subtest: review requests and verdicts between roles without the field are unchanged
ok 474 - review requests and verdicts between roles without the field are unchanged
---
duration_ms: 48.369339
type: 'test'
...
# Subtest: 3f copy migrates to 3g preserving every old column/row, with an empty instance_names and null to_name
ok 475 - 3f copy migrates to 3g preserving every old column/row, with an empty instance_names and null to_name
---
duration_ms: 145.00245
type: 'test'
...
# Subtest: REQ-MSG-2: the chief of staff names an instance under its within-role grant, and the write is logged
ok 476 - REQ-MSG-2: the chief of staff names an instance under its within-role grant, and the write is logged
---
duration_ms: 47.808127
type: 'test'
...
# Subtest: REQ-MSG-2: the human names an instance through the CLI
ok 477 - REQ-MSG-2: the human names an instance through the CLI
---
duration_ms: 31.083753
type: 'test'
...
# Subtest: REQ-MSG-2: a role without the grant, or holding it cross-role, is refused not-authorized
ok 478 - REQ-MSG-2: a role without the grant, or holding it cross-role, is refused not-authorized
---
duration_ms: 37.596295
type: 'test'
...
# Subtest: REQ-MSG-2: a name is unique in the business and is never an instance key or a role name
ok 479 - REQ-MSG-2: a name is unique in the business and is never an instance key or a role name
---
duration_ms: 53.113818
type: 'test'
...
# Subtest: REQ-MSG-2: a send by name reaches the instance and records both; a send by instance key is unchanged
ok 480 - REQ-MSG-2: a send by name reaches the instance and records both; a send by instance key is unchanged
---
duration_ms: 47.959892
type: 'test'
...
# Subtest: REQ-MSG-2: an instance key beats a name that equals it, as when a later instance takes the key
ok 481 - REQ-MSG-2: an instance key beats a name that equals it, as when a later instance takes the key
---
duration_ms: 34.109813
type: 'test'
...
# Subtest: REQ-MSG-2: a role name beats a name that equals it, as when a later definition takes the word (sage-0590)
ok 482 - REQ-MSG-2: a role name beats a name that equals it, as when a later definition takes the word (sage-0590)
---
duration_ms: 41.725066
type: 'test'
...
# Subtest: proof receives actual peer, cap traffic never invokes helper and transient cap disconnects
ok 483 - proof receives actual peer, cap traffic never invokes helper and transient cap disconnects
---
duration_ms: 11.331772
type: 'test'
...
# Subtest: proof helper error and disconnect during verification never dispatch or bind
ok 484 - proof helper error and disconnect during verification never dispatch or bind
---
duration_ms: 2.344875
type: 'test'
...
# Subtest: Client receives explicit proof refusal codes without dispatch, not outcome-unknown
ok 485 - Client receives explicit proof refusal codes without dispatch, not outcome-unknown
---
duration_ms: 66.940184
type: 'test'
...
# Subtest: asynchronous proof calls release their transient session on success, failure and timeout
ok 486 - asynchronous proof calls release their transient session on success, failure and timeout
---
duration_ms: 30.2876
type: 'test'
...
# Subtest: T2 eight proof callers and a racing copier bind the exact accepted socket, which survives helper exit
ok 487 - T2 eight proof callers and a racing copier bind the exact accepted socket, which survives helper exit
---
duration_ms: 421.880975
type: 'test'
...
# Subtest: helper output and failures fail closed including unsafe gid
ok 488 - helper output and failures fail closed including unsafe gid
---
duration_ms: 1.906021
type: 'test'
...
# Subtest: helper timeout, capacity and shutdown refuse without leaving children
ok 489 - helper timeout, capacity and shutdown refuse without leaving children
---
duration_ms: 26.450068
type: 'test'
...
# Subtest: missing or non-regular peer helper refuses at construction before opening the bus
ok 490 - missing or non-regular peer helper refuses at construction before opening the bus
---
duration_ms: 0.36784
type: 'test'
...
# Subtest: shutdown waits for killed helper close before returning
ok 491 - shutdown waits for killed helper close before returning
---
duration_ms: 6.19307
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: plugins and plugins.set refuse every non-human session and a forged actor, and pass only the patch with the verified actor
ok 492 - plugins and plugins.set refuse every non-human session and a forged actor, and pass only the patch with the verified actor
---
duration_ms: 40.773105
type: 'test'
...
# Subtest: runtime: the switch changes the organization file, the receipt carries the actor, and a bad shape, an unknown module and a stale revision are refused with nothing written
ok 493 - runtime: the switch changes the organization file, the receipt carries the actor, and a bad shape, an unknown module and a stale revision are refused with nothing written
---
duration_ms: 220.499456
type: 'test'
...
# Subtest: vikunja:19/309 through the broker, a patch switches the kinds it names and keeps the rest; null removes one kind and is trailed
ok 494 - vikunja:19/309 through the broker, a patch switches the kinds it names and keeps the rest; null removes one kind and is trailed
---
duration_ms: 104.651433
type: 'test'
...
# Subtest: principal binds kernel peer PID and uid, maps owner, and never takes identity or role from body
ok 495 - principal binds kernel peer PID and uid, maps owner, and never takes identity or role from body
---
duration_ms: 2.221866
type: 'test'
...
# Subtest: user requires its own nonce and full walk plus immediate same-tree Console parent
ok 496 - user requires its own nonce and full walk plus immediate same-tree Console parent
---
duration_ms: 0.890364
type: 'test'
...
# Subtest: tester deliberately admits agent parents but rejects managed runs and another nonce
ok 497 - tester deliberately admits agent parents but rejects managed runs and another nonce
---
duration_ms: 0.53654
type: 'test'
...
# Subtest: human leaf identity is reread after walking the parents
ok 498 - human leaf identity is reread after walking the parents
---
duration_ms: 0.309034
type: 'test'
...
# Subtest: broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly
ok 499 - broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly
---
duration_ms: 311.142548
type: 'test'
...
# Subtest: startup token refusal returns safe code without value or partial listening broker
ok 500 - startup token refusal returns safe code without value or partial listening broker
---
duration_ms: 168.678332
type: 'test'
...
# Subtest: loaded fixture token is absent from socket replies and SQLite, including refusal evidence
ok 501 - loaded fixture token is absent from socket replies and SQLite, including refusal evidence
---
duration_ms: 228.764339
type: 'test'
...
# Subtest: killed broker leaves an explicit stale lock; another process cannot silently reclaim it
ok 502 - killed broker leaves an explicit stale lock; another process cannot silently reclaim it
---
duration_ms: 328.118558
type: 'test'
...
# Subtest: trusted host registers later launches; socket clients never have a registration verb
ok 503 - trusted host registers later launches; socket clients never have a registration verb
---
duration_ms: 239.026659
type: 'test'
...
# Subtest: REQ-LIMIT-4 the broker process answers the launcher's mayLaunch op with the limits' awaited decision
ok 504 - REQ-LIMIT-4 the broker process answers the launcher's mayLaunch op with the limits' awaited decision
---
duration_ms: 299.952279
type: 'test'
...
# Subtest: runtime excludes declared project roots even when host supplies no repoRoots
ok 505 - runtime excludes declared project roots even when host supplies no repoRoots
---
duration_ms: 262.934734
type: 'test'
...
# Subtest: a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it
ok 506 - a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it
---
duration_ms: 274.343133
type: 'test'
...
# Subtest: real runtime injects the coordinator, stops its workload and mirrors stable stop events across restart
ok 507 - real runtime injects the coordinator, stops its workload and mirrors stable stop events across restart
---
duration_ms: 286.220945
type: 'test'
...
# Subtest: invalid state still starts the control bus and human halt then resume repairs it
ok 508 - invalid state still starts the control bus and human halt then resume repairs it
---
duration_ms: 113.310224
type: 'test'
...
# Subtest: processing halt and resume extend only the socket timeout while ordinary status retains the explicit timeout
ok 509 - processing halt and resume extend only the socket timeout while ordinary status retains the explicit timeout
---
duration_ms: 189.118249
type: 'test'
...
# Subtest: a root halt aborts the active search-source signal before the normal web deadline
ok 510 - a root halt aborts the active search-source signal before the normal web deadline
---
duration_ms: 37.568718
type: 'test'
...
# Subtest: processing.halt refuses agent reader and tester before any transition
ok 511 - processing.halt refuses agent reader and tester before any transition
---
duration_ms: 37.628319
type: 'test'
...
# Subtest: processing.resume refuses agent reader and tester before any transition
ok 512 - processing.resume refuses agent reader and tester before any transition
---
duration_ms: 30.020684
type: 'test'
...
# Subtest: human halt and clear each have one event with verified actor; launch.restore cannot clear
ok 513 - human halt and clear each have one event with verified actor; launch.restore cannot clear
---
duration_ms: 27.544789
type: 'test'
...
# Subtest: all ordinary work verbs refuse before dispatch while pure reads remain available
ok 514 - all ordinary work verbs refuse before dispatch while pure reads remain available
---
duration_ms: 56.20258
type: 'test'
...
# Subtest: task web authorization and bind paths refuse before external work
ok 515 - task web authorization and bind paths refuse before external work
---
duration_ms: 26.152271
type: 'test'
...
# Subtest: recordEvent cannot forge processing.halt
ok 516 - recordEvent cannot forge processing.halt
---
duration_ms: 21.261474
type: 'test'
...
# Subtest: recordEvent cannot forge processing.resume
ok 517 - recordEvent cannot forge processing.resume
---
duration_ms: 21.40821
type: 'test'
...
# Subtest: recordEvent cannot forge processing.stop
ok 518 - recordEvent cannot forge processing.stop
---
duration_ms: 21.633668
type: 'test'
...
# Subtest: recordTask poll cannot forge a processing action through its kinds filter
ok 519 - recordTask poll cannot forge a processing action through its kinds filter
---
duration_ms: 20.639256
type: 'test'
...
# Subtest: recordTask self cannot forge a processing action through its kinds filter
ok 520 - recordTask self cannot forge a processing action through its kinds filter
---
duration_ms: 19.683698
type: 'test'
...
# Subtest: spec read remains a read but cannot release new write work after an await
ok 521 - spec read remains a read but cannot release new write work after an await
---
duration_ms: 28.075935
type: 'test'
...
# Subtest: the real socket awaits halt and resume beyond the ordinary idle deadline
ok 522 - the real socket awaits halt and resume beyond the ordinary idle deadline
---
duration_ms: 71.715349
type: 'test'
...
# Subtest: a malformed processing reader never silently admits agent work
ok 523 - a malformed processing reader never silently admits agent work
---
duration_ms: 25.64705
type: 'test'
...
# Subtest: halt refuses the newly landed host executor path before credentials or effects
ok 524 - halt refuses the newly landed host executor path before credentials or effects
---
duration_ms: 23.822927
type: 'test'
...
# Subtest: D1: committed write with a failed receipt refuses outcome-unknown without action.allowed
ok 525 - D1: committed write with a failed receipt refuses outcome-unknown without action.allowed
---
duration_ms: 33.831046
type: 'test'
...
# Subtest: D2: spec.read refuses without content if its role is released during the read
ok 526 - D2: spec.read refuses without content if its role is released during the read
---
duration_ms: 24.117481
type: 'test'
...
# Subtest: D3: spec.read secret check refuses flagged content without content
ok 527 - D3: spec.read secret check refuses flagged content without content
---
duration_ms: 25.472957
type: 'test'
...
# Subtest: D3: spec.read secret check refuses flagged subject without content
ok 528 - D3: spec.read secret check refuses flagged subject without content
---
duration_ms: 23.212133
type: 'test'
...
# Subtest: a human lists, opens and saves; the save is one commit by the business human
ok 529 - a human lists, opens and saves; the save is one commit by the business human
---
duration_ms: 197.821503
type: 'test'
...
# Subtest: an agent and a reader refuse every file verb and nothing is written
ok 530 - an agent and a reader refuse every file verb and nothing is written
---
duration_ms: 72.695246
type: 'test'
...
# Subtest: a stale base refuses stale-base and writes nothing
ok 531 - a stale base refuses stale-base and writes nothing
---
duration_ms: 122.894069
type: 'test'
...
# Subtest: paths outside the spec and docs refuse, as do unknown projects, missing files and odd arguments
ok 532 - paths outside the spec and docs refuse, as do unknown projects, missing files and odd arguments
---
duration_ms: 91.941844
type: 'test'
...
# Subtest: without a project adapter the file verbs refuse project-not-configured
ok 533 - without a project adapter the file verbs refuse project-not-configured
---
duration_ms: 50.798283
type: 'test'
...
# Subtest: on the socket a save may carry 1 MiB of text; every other request keeps the 64 KiB limit
ok 534 - on the socket a save may carry 1 MiB of text; every other request keeps the 64 KiB limit
---
duration_ms: 600.050295
type: 'test'
...
# Subtest: a request that names the save verb first and another verb last is refused at 64 KiB
ok 535 - a request that names the save verb first and another verb last is refused at 64 KiB
---
duration_ms: 215.035724
type: 'test'
...
# Subtest: two saves racing for one repository make one commit
ok 536 - two saves racing for one repository make one commit
---
duration_ms: 381.501154
type: 'test'
...
# Subtest: Broker keeps the sandbox client import closure: only the listed imports, no lazy project import
ok 537 - Broker keeps the sandbox client import closure: only the listed imports, no lazy project import
---
duration_ms: 2.920051
type: 'test'
...
# Subtest: without a trusted project adapter all three async paths refuse project-not-configured
ok 538 - without a trusted project adapter all three async paths refuse project-not-configured
---
duration_ms: 66.553516
type: 'test'
...
# Subtest: real startBroker injects the project adapter for socket reads and bound-author record writes
ok 539 - real startBroker injects the project adapter for socket reads and bound-author record writes
---
duration_ms: 318.49156
type: 'test'
...
# Subtest: a raise with no recorded push refuses no-push; a raise binds the latest push and shows it
ok 540 - a raise with no recorded push refuses no-push; a raise binds the latest push and shows it
---
duration_ms: 48.167711
type: 'test'
...
# Subtest: happy path: the fork is the upstream repo under the agent's own user, the destination is host-built
ok 541 - happy path: the fork is the upstream repo under the agent's own user, the destination is host-built
---
duration_ms: 41.206544
type: 'test'
...
# Subtest: a hard wait: no decision refuses, and a decision for another task refuses
ok 542 - a hard wait: no decision refuses, and a decision for another task refuses
---
duration_ms: 41.907855
type: 'test'
...
# Subtest: r4 B4: approve while the latest push is A, push B, publish refuses decision-mismatch
ok 543 - r4 B4: approve while the latest push is A, push B, publish refuses decision-mismatch
---
duration_ms: 79.703222
type: 'test'
...
# Subtest: grant and fork refusals
ok 544 - grant and fork refusals
---
duration_ms: 70.072441
type: 'test'
...
# Subtest: remote-not-fork, compared without case, and remote-host-mismatch, at push
ok 545 - remote-not-fork, compared without case, and remote-host-mismatch, at push
---
duration_ms: 140.273827
type: 'test'
...
# Subtest: two agents granted one project each get their own fork
ok 546 - two agents granted one project each get their own fork
---
duration_ms: 77.997903
type: 'test'
...
# Subtest: the request cannot name the fork, the user or the destination
ok 547 - the request cannot name the fork, the user or the destination
---
duration_ms: 39.596174
type: 'test'
...
# Subtest: one decision, one open publish: a second ticket refuses publish-busy, whatever its branch
ok 548 - one decision, one open publish: a second ticket refuses publish-busy, whatever its branch
---
duration_ms: 96.596159
type: 'test'
...
# Subtest: publishRefused files the code on the task's trail and drops the ticket
ok 549 - publishRefused files the code on the task's trail and drops the ticket
---
duration_ms: 57.145765
type: 'test'
...
# Subtest: git.push.remote is in neither ROUTED list and no shipped role grants it
ok 550 - git.push.remote is in neither ROUTED list and no shipped role grants it
---
duration_ms: 1.419955
type: 'test'
...
# Subtest: runtime: withGitea keys from the open ticket only, and the store root is the organization dir
ok 551 - runtime: withGitea keys from the open ticket only, and the store root is the organization dir
---
duration_ms: 202.119168
type: 'test'
...
# Subtest: the bus process answers the publish ops from their own lines, not launch-op-refused
ok 552 - the bus process answers the publish ops from their own lines, not launch-op-refused
---
duration_ms: 365.366577
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: T14 a create goes live with no restart: the new instance binds at once and the answer says restart false
ok 553 - T14 a create goes live with no restart: the new instance binds at once and the answer says restart false
---
duration_ms: 111.421709
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: T14 every committed verb reloads once, limits.set, routes.set, plugins.set and veto.set included, and a refused one does not
ok 554 - T14 every committed verb reloads once, limits.set, routes.set, plugins.set and veto.set included, and a refused one does not
---
duration_ms: 135.31687
type: 'test'
...
# Subtest: T14 a definition change on a running instance refuses instance-running; a vars change still goes live
ok 555 - T14 a definition change on a running instance refuses instance-running; a vars change still goes live
---
duration_ms: 113.233739
type: 'test'
...
# Subtest: T14 a file whose credential references differ from the boot copy is not reloaded and the write answers restart true
ok 556 - T14 a file whose credential references differ from the boot copy is not reloaded and the write answers restart true
---
duration_ms: 79.772671
type: 'test'
...
# Subtest: T14 a date-only change to a credential reference still reloads: row 199 issue rewrites the date outside the reload
ok 557 - T14 a date-only change to a credential reference still reloads: row 199 issue rewrites the date outside the reload
---
duration_ms: 96.558641
type: 'test'
...
# Subtest: T19 a credentialed create answers restart true; issue works only after a restart, and a later vars change goes live
ok 558 - T19 a credentialed create answers restart true; issue works only after a restart, and a later vars change goes live
---
duration_ms: 220.36208
type: 'test'
...
# Subtest: T14 after a refused reload veto.set, instance.hire and instance.fire answer restart true, and a fire of a name kept since refuses before step A
ok 559 - T14 after a refused reload veto.set, instance.hire and instance.fire answer restart true, and a fire of a name kept since refuses before step A
---
duration_ms: 393.179226
type: 'test'
...
# Subtest: T14 a file whose project root differs from the boot copy is not reloaded, because the Credentials store protects the boot roots
ok 560 - T14 a file whose project root differs from the boot copy is not reloaded, because the Credentials store protects the boot roots
---
duration_ms: 99.819251
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: T14 a file whose library mapping differs from the boot copy is not reloaded, because the mirror is ensured at start
ok 561 - T14 a file whose library mapping differs from the boot copy is not reloaded, because the mirror is ensured at start
---
duration_ms: 372.363791
type: 'test'
...
# Subtest: T14 reloadBusiness refuses an unknown business, a changed human and a document the boot check refuses
ok 562 - T14 reloadBusiness refuses an unknown business, a changed human and a document the boot check refuses
---
duration_ms: 22.442939
type: 'test'
...
# Subtest: a reply is listed for human and reader sessions, and its delivery rows are unchanged
ok 563 - a reply is listed for human and reader sessions, and its delivery rows are unchanged
---
duration_ms: 59.601531
type: 'test'
...
# Subtest: the reply still reaches the human message.receive (mosaic talk) after the Console showed it
ok 564 - the reply still reaches the human message.receive (mosaic talk) after the Console showed it
---
duration_ms: 33.607185
type: 'test'
...
# Subtest: a message with no reply gives an empty list
ok 565 - a message with no reply gives an empty list
---
duration_ms: 26.192143
type: 'test'
...
# Subtest: replies come oldest first and stop at REPLIES
ok 566 - replies come oldest first and stop at REPLIES
---
duration_ms: 125.389299
type: 'test'
...
# Subtest: an id that names no message in the business refuses message-not-found, and the refusal is recorded
ok 567 - an id that names no message in the business refuses message-not-found, and the refusal is recorded
---
duration_ms: 42.592488
type: 'test'
...
# Subtest: strict arguments; a role session gets human-required
ok 568 - strict arguments; a role session gets human-required
---
duration_ms: 61.538367
type: 'test'
...
# Subtest: views passes replies through as one call with the id
ok 569 - views passes replies through as one call with the id
---
duration_ms: 0.358397
type: 'test'
...
# Subtest: requirements returns the committed list to a holding role session, and no one else
ok 570 - requirements returns the committed list to a holding role session, and no one else
---
duration_ms: 46.118607
type: 'test'
...
# Subtest: the PM's prd.approve with no task, when no id fits, reaches the human's Inbox
ok 571 - the PM's prd.approve with no task, when no id fits, reaches the human's Inbox
---
duration_ms: 24.75378
type: 'test'
...
# Subtest: the PM's non-blocking role.revoke with no task reaches the human's Inbox
ok 572 - the PM's non-blocking role.revoke with no task reaches the human's Inbox
---
duration_ms: 27.135595
type: 'test'
...
# Subtest: a push is recorded as the action.allowed for git.push.working on the task, and only the host records one
ok 573 - a push is recorded as the action.allowed for git.push.working on the task, and only the host records one
---
duration_ms: 46.895322
type: 'test'
...
# Subtest: review.request names the latest pushed commit and sends the reviewer a REVIEW-REQUEST
ok 574 - review.request names the latest pushed commit and sends the reviewer a REVIEW-REQUEST
---
duration_ms: 36.178102
type: 'test'
...
# Subtest: review.request says which run holds the reviewer role, or null, and a null request waits for a claim
ok 575 - review.request says which run holds the reviewer role, or null, and a null request waits for a claim
---
duration_ms: 50.582905
type: 'test'
...
# Subtest: review.request refuses a commit that isn't the latest push, a non-reviewer and a role without the action
ok 576 - review.request refuses a commit that isn't the latest push, a non-reviewer and a role without the action
---
duration_ms: 63.121914
type: 'test'
...
# Subtest: reviewFetch answers only the addressed reviewer, for the request it cites
ok 577 - reviewFetch answers only the addressed reviewer, for the request it cites
---
duration_ms: 41.635393
type: 'test'
...
# Subtest: review.verdict answers one request once, to the role that asked
ok 578 - review.verdict answers one request once, to the role that asked
---
duration_ms: 49.802835
type: 'test'
...
# Subtest: task.close on a pushed task needs an approve verdict for the latest push
ok 579 - task.close on a pushed task needs an approve verdict for the latest push
---
duration_ms: 84.356682
type: 'test'
...
# Subtest: a refusal the host decided is filed on the task it names, and only a task ref counts
ok 580 - a refusal the host decided is filed on the task it names, and only a task ref counts
---
duration_ms: 46.922778
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: row 65: routes and routes.set refuse every non-human session, the chief of staff included, the tester may read and set, and each passes the verified actor
ok 581 - row 65: routes and routes.set refuse every non-human session, the chief of staff included, the tester may read and set, and each passes the verified actor
---
duration_ms: 49.535926
type: 'test'
...
# Subtest: row 65: a new launch binds only on a switched-on harness with a module name, and a run an earlier broker bound binds again after its harness is switched off
ok 582 - row 65: a new launch binds only on a switched-on harness with a module name, and a run an earlier broker bound binds again after its harness is switched off
---
duration_ms: 44.937173
type: 'test'
...
# Subtest: row 65 runtime: harnessLevels answers each module in the tree, and null for a name with no module
ok 583 - row 65 runtime: harnessLevels answers each module in the tree, and null for a name with no module
---
duration_ms: 66.737048
type: 'test'
...
# Subtest: row 65 runtime: routes and routes.set reach the organization file with the human as actor, a new bind reads plugins.harness, and each refusal keeps the bytes and logs nothing
ok 584 - row 65 runtime: routes and routes.set reach the organization file with the human as actor, a new bind reads plugins.harness, and each refusal keeps the bytes and logs nothing
---
duration_ms: 159.866398
type: 'test'
...
# Subtest: v3b prototype refusals, views and append-only mutations
ok 585 - v3b prototype refusals, views and append-only mutations
---
duration_ms: 139.08223
type: 'test'
...
# Subtest: gated approval authorizes once, survives store reopen, and fresh approval works
ok 586 - gated approval authorizes once, survives store reopen, and fresh approval works
---
duration_ms: 61.473229
type: 'test'
...
# Subtest: another run of the same instance consumes an approval once; a failed check leaves it usable
ok 587 - another run of the same instance consumes an approval once; a failed check leaves it usable
---
duration_ms: 43.826619
type: 'test'
...
# Subtest: two scheduled callers have exactly one grant and one consumed refusal
ok 588 - two scheduled callers have exactly one grant and one consumed refusal
---
duration_ms: 39.10502
type: 'test'
...
# Subtest: failed commit rolls consumption back; cross-role consumes and within-role stays reusable
ok 589 - failed commit rolls consumption back; cross-role consumes and within-role stays reusable
---
duration_ms: 58.385889
type: 'test'
...
# Subtest: class drift gated to cross-role refuses before consumption
ok 590 - class drift gated to cross-role refuses before consumption
---
duration_ms: 42.237744
type: 'test'
...
# Subtest: class drift cross-role to gated refuses before consumption
ok 591 - class drift cross-role to gated refuses before consumption
---
duration_ms: 79.898291
type: 'test'
...
# Subtest: class drift gated to within-role refuses before consumption
ok 592 - class drift gated to within-role refuses before consumption
---
duration_ms: 68.973126
type: 'test'
...
# Subtest: class drift cross-role to within-role refuses before consumption
ok 593 - class drift cross-role to within-role refuses before consumption
---
duration_ms: 94.608502
type: 'test'
...
# Subtest: class drift within-role to gated refuses before consumption
ok 594 - class drift within-role to gated refuses before consumption
---
duration_ms: 66.370908
type: 'test'
...
# Subtest: class drift within-role to cross-role refuses before consumption
ok 595 - class drift within-role to cross-role refuses before consumption
---
duration_ms: 64.307628
type: 'test'
...
# Subtest: message.send consumes approval and prevents a later send or authorize
ok 596 - message.send consumes approval and prevents a later send or authorize
---
duration_ms: 57.212855
type: 'test'
...
# Subtest: role.revoke consumes approval and prevents a later revoke or authorize
ok 597 - role.revoke consumes approval and prevents a later revoke or authorize
---
duration_ms: 48.370647
type: 'test'
...
# Subtest: 3e copy migrates through 3f to 3g preserving every old column/row and adding null spec citations
ok 598 - 3e copy migrates through 3f to 3g preserving every old column/row and adding null spec citations
---
duration_ms: 183.475438
type: 'test'
...
# Subtest: a human spec save sends one notice to each pm and cto, naming the commit, and each commit sends its own
ok 599 - a human spec save sends one notice to each pm and cto, naming the commit, and each commit sends its own
---
duration_ms: 461.870324
type: 'test'
...
# Subtest: no notice for a docs save, an agent record commit, a git commit outside the Console, or a refused save
ok 600 - no notice for a docs save, an agent record commit, a git commit outside the Console, or a refused save
---
duration_ms: 352.001954
type: 'test'
...
# Subtest: a notice to a role no run holds waits for a claim, and launches nobody and tells nobody
ok 601 - a notice to a role no run holds waits for a claim, and launches nobody and tells nobody
---
duration_ms: 145.912646
type: 'test'
...
# Subtest: a business without a pm or a cto saves the spec and sends nothing
ok 602 - a business without a pm or a cto saves the spec and sends nothing
---
duration_ms: 134.127589
type: 'test'
...
# Subtest: a notice that cannot be stored answers outcome-unknown, and the commit stands
ok 603 - a notice that cannot be stored answers outcome-unknown, and the commit stands
---
duration_ms: 212.734402
type: 'test'
...
# Subtest: a BLOCK reaches the chief of staff, the chief relays it to the assistant in the user's thread, and the commit stands
ok 604 - a BLOCK reaches the chief of staff, the chief relays it to the assistant in the user's thread, and the commit stands
---
duration_ms: 135.075006
type: 'test'
...
# Subtest: with no thread a BLOCK still reaches the chief of staff, and the relay to the assistant is refused
ok 605 - with no thread a BLOCK still reaches the chief of staff, and the relay to the assistant is refused
---
duration_ms: 120.561606
type: 'test'
...
# Subtest: within the notice's project the relay lands in the user's most recently opened thread
ok 606 - within the notice's project the relay lands in the user's most recently opened thread
---
duration_ms: 141.245599
type: 'test'
...
# Subtest: a more recently opened thread in another project does not take the relay
ok 607 - a more recently opened thread in another project does not take the relay
---
duration_ms: 139.733969
type: 'test'
...
# Subtest: a BLOCK is refused from anyone but a pm or cto, to anyone but the chief of staff, and outside a reply to its own notice
ok 608 - a BLOCK is refused from anyone but a pm or cto, to anyone but the chief of staff, and outside a reply to its own notice
---
duration_ms: 150.294037
type: 'test'
...
# Subtest: a role cannot forge a spec notice: its text opens neither a BLOCK nor the assistant's thread
ok 609 - a role cannot forge a spec notice: its text opens neither a BLOCK nor the assistant's thread
---
duration_ms: 145.605616
type: 'test'
...
# Subtest: the bus receives nothing: a reply to a notice addressed to _bus is refused
ok 610 - the bus receives nothing: a reply to a notice addressed to _bus is refused
---
duration_ms: 166.209419
type: 'test'
...
# Subtest: real socket awaits spec reads, record writes and cited raises; other requests still return normally
ok 611 - real socket awaits spec reads, record writes and cited raises; other requests still return normally
---
duration_ms: 447.653218
type: 'test'
...
# Subtest: real socket preserves asynchronous refusal codes and disconnects its transient proof
ok 612 - real socket preserves asynchronous refusal codes and disconnects its transient proof
---
duration_ms: 178.162194
type: 'test'
...
# Subtest: two real socket writes to one repository yield one commit and one project-busy refusal
ok 613 - two real socket writes to one repository yield one commit and one project-busy refusal
---
duration_ms: 131.92729
type: 'test'
...
# Subtest: client disconnect during await tolerates late reply
ok 614 - client disconnect during await tolerates late reply
---
duration_ms: 119.838055
type: 'test'
...
# Subtest: client disconnect during await tolerates late refusal
ok 615 - client disconnect during await tolerates late refusal
---
duration_ms: 88.607526
type: 'test'
...
# Subtest: N-a: slow admitted record.write returns its committed result after the idle deadline
ok 616 - N-a: slow admitted record.write returns its committed result after the idle deadline
---
duration_ms: 280.23846
type: 'test'
...
# Subtest: current citation is recorded; docs commits do not stale it and a new spec never reopens settlement
ok 617 - current citation is recorded; docs commits do not stale it and a new spec never reopens settlement
---
duration_ms: 425.79019
type: 'test'
...
# Subtest: stale, unconfirmed, missing and partial spec citations refuse without inserting a decision
ok 618 - stale, unconfirmed, missing and partial spec citations refuse without inserting a decision
---
duration_ms: 265.384068
type: 'test'
...
# Subtest: uncited raises retain their synchronous path and spec read is available to any held role in its business
ok 619 - uncited raises retain their synchronous path and spec read is available to any held role in its business
---
duration_ms: 93.366143
type: 'test'
...
# Subtest: record writes bind the session author, require authority and refuse spec and impersonation paths
ok 620 - record writes bind the session author, require authority and refuse spec and impersonation paths
---
duration_ms: 97.711513
type: 'test'
...
# Subtest: REQ-COS-1: the pm asks the chief of staff for roles and counts; the chief receives a STAFF-REQUEST and answers it
ok 621 - REQ-COS-1: the pm asks the chief of staff for roles and counts; the chief receives a STAFF-REQUEST and answers it
---
duration_ms: 108.256307
type: 'test'
...
# Subtest: REQ-COS-1: only the pm can send a staff request; every other session is refused and the chief of staff hears nothing
ok 622 - REQ-COS-1: only the pm can send a staff request; every other session is refused and the chief of staff hears nothing
---
duration_ms: 70.742915
type: 'test'
...
# Subtest: REQ-COS-1: a pm without message.send is refused like any other gated action
ok 623 - REQ-COS-1: a pm without message.send is refused like any other gated action
---
duration_ms: 37.843377
type: 'test'
...
# Subtest: REQ-COS-1: the request goes to the business launcher, and only when that is a chief of staff
ok 624 - REQ-COS-1: the request goes to the business launcher, and only when that is a chief of staff
---
duration_ms: 86.062542
type: 'test'
...
# Subtest: REQ-COS-1: the sender is judged by definition: an instance `lead` of the pm definition can ask, an instance `pm` of the coder definition can't
ok 625 - REQ-COS-1: the sender is judged by definition: an instance `lead` of the pm definition can ask, an instance `pm` of the coder definition can't
---
duration_ms: 84.264666
type: 'test'
...
# Subtest: REQ-COS-1: the launcher is judged by definition: an instance `boss` of the chief-of-staff definition receives, a `chief` of the coder definition gives no-chief-of-staff
ok 626 - REQ-COS-1: the launcher is judged by definition: an instance `boss` of the chief-of-staff definition receives, a `chief` of the coder definition gives no-chief-of-staff
---
duration_ms: 76.008608
type: 'test'
...
# Subtest: REQ-COS-1: a refused staff request leaves no staff.request action.allowed event
ok 627 - REQ-COS-1: a refused staff request leaves no staff.request action.allowed event
---
duration_ms: 40.5313
type: 'test'
...
# Subtest: REQ-ASSIST-2: the role definitions' messaging lists hold for a staff request, sender and recipient
ok 628 - REQ-ASSIST-2: the role definitions' messaging lists hold for a staff request, sender and recipient
---
duration_ms: 94.572599
type: 'test'
...
# Subtest: a staff request names a task, 1 to 10 distinct roles and counts of 1 to 20; nothing else is accepted
ok 629 - a staff request names a task, 1 to 10 distinct roles and counts of 1 to 20; nothing else is accepted
---
duration_ms: 67.272959
type: 'test'
...
# Subtest: REQ-COS-1: a staff request grants nothing: the pm still can't launch and the chief of staff launches as before
ok 630 - REQ-COS-1: a staff request grants nothing: the pm still can't launch and the chief of staff launches as before
---
duration_ms: 38.233768
type: 'test'
...
# Subtest: a business that never switched launches reads allowed with no time and no event
ok 631 - a business that never switched launches reads allowed with no time and no event
---
duration_ms: 39.19448
type: 'test'
...
# Subtest: launches revoked and then restored read allowed, with the restore time and event id
ok 632 - launches revoked and then restored read allowed, with the restore time and event id
---
duration_ms: 33.584889
type: 'test'
...
# Subtest: a task closed on the tracker leaves the open list, and total counts the open ones
ok 633 - a task closed on the tracker leaves the open list, and total counts the open ones
---
duration_ms: 29.994804
type: 'test'
...
# Subtest: a tombstone is not open
ok 634 - a tombstone is not open
---
duration_ms: 25.836084
type: 'test'
...
# Subtest: the open list stops at the cap and says so; total still counts every open task
ok 635 - the open list stops at the cap and says so; total still counts every open task
---
duration_ms: 31.870179
type: 'test'
...
# Subtest: a role and a reader session read state; arguments, and an unbound cap, refuse
ok 636 - a role and a reader session read state; arguments, and an unbound cap, refuse
---
duration_ms: 27.408976
type: 'test'
...
# Subtest: a human session reads the same state, with the same cap
ok 637 - a human session reads the same state, with the same cap
---
duration_ms: 31.45968
type: 'test'
...
# Subtest: reading state writes nothing: every table keeps its row count
ok 638 - reading state writes nothing: every table keeps its row count
---
duration_ms: 26.509767
type: 'test'
...
# Subtest: creates private WAL store and excludes a second writer until explicit close
ok 639 - creates private WAL store and excludes a second writer until explicit close
---
duration_ms: 30.197161
type: 'test'
...
# Subtest: rollback is atomic and schema metadata is checked against trusted DDL, not just itself
ok 640 - rollback is atomic and schema metadata is checked against trusted DDL, not just itself
---
duration_ms: 27.297278
type: 'test'
...
# Subtest: existing empty database and symlink runtime directory refuse, never initialize over damage
ok 641 - existing empty database and symlink runtime directory refuse, never initialize over damage
---
duration_ms: 25.252243
type: 'test'
...
# Subtest: crash during a transaction recovers no partial event after explicit fixture-only lock removal
ok 642 - crash during a transaction recovers no partial event after explicit fixture-only lock removal
---
duration_ms: 102.847167
type: 'test'
...
# Subtest: writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers
ok 643 - writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers
---
duration_ms: 18.564679
type: 'test'
...
# Subtest: async transactions refuse before invoking their function
ok 644 - async transactions refuse before invoking their function
---
duration_ms: 14.753239
type: 'test'
...
# Subtest: usage_records refuses non-canonical timestamps atomically
ok 645 - usage_records refuses non-canonical timestamps atomically
---
duration_ms: 15.894007
type: 'test'
...
# Subtest: the session default fits under the reply cap and pages to the end with next
ok 646 - the session default fits under the reply cap and pages to the end with next
---
duration_ms: 225.232444
type: 'test'
...
# Subtest: the short form: no description, assignees by role, every listed key
ok 647 - the short form: no description, assignees by role, every listed key
---
duration_ms: 180.915456
type: 'test'
...
# Subtest: each filter, alone and together, and total counts every match
ok 648 - each filter, alone and together, and total counts every match
---
duration_ms: 238.072346
type: 'test'
...
# Subtest: task_ref reads one task in full, as the whole board has it
ok 649 - task_ref reads one task in full, as the whole board has it
---
duration_ms: 166.564438
type: 'test'
...
# Subtest: no arguments is the read the Console and mosaic make, unchanged
ok 650 - no arguments is the read the Console and mosaic make, unchanged
---
duration_ms: 132.400999
type: 'test'
...
# Subtest: an unknown argument or a bad value refuses invalid-request
ok 651 - an unknown argument or a bad value refuses invalid-request
---
duration_ms: 600.984733
type: 'test'
...
# Subtest: tasks rows carry priority and requirement for every session that reads tasks
ok 652 - tasks rows carry priority and requirement for every session that reads tasks
---
duration_ms: 67.104384
type: 'test'
...
# Subtest: the read model rebuilds from the ledger: a reopened bus and each trail give the same values
ok 653 - the read model rebuilds from the ledger: a reopened bus and each trail give the same values
---
duration_ms: 83.491576
type: 'test'
...
# Subtest: an empty business and one with snapshots but no task.created read cleanly
ok 654 - an empty business and one with snapshots but no task.created read cleanly
---
duration_ms: 28.290457
type: 'test'
...
# Subtest: recordTask keeps sync reads and a role write apart
ok 655 - recordTask keeps sync reads and a role write apart
---
duration_ms: 40.755379
type: 'test'
...
# Subtest: read_at must be one canonical UTC format, so the projection compares strings safely
ok 656 - read_at must be one canonical UTC format, so the projection compares strings safely
---
duration_ms: 21.105842
type: 'test'
...
# Subtest: a bad entry refuses the whole record
ok 657 - a bad entry refuses the whole record
---
duration_ms: 21.880879
type: 'test'
...
# Subtest: taskView reads the projection for one business
ok 658 - taskView reads the projection for one business
---
duration_ms: 30.276805
type: 'test'
...
# Subtest: requestTask hands only a holder and a task verb to the handler, and records refusals
ok 659 - requestTask hands only a holder and a task verb to the handler, and records refusals
---
duration_ms: 59.741826
type: 'test'
...
# Subtest: the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous
ok 660 - the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous
---
duration_ms: 331.906895
type: 'test'
...
# Subtest: without an adapter the server refuses every task verb
ok 661 - without an adapter the server refuses every task verb
---
duration_ms: 77.927157
type: 'test'
...
# Subtest: the runtime refuses an invalid adapter and closes a valid one
ok 662 - the runtime refuses an invalid adapter and closes a valid one
---
duration_ms: 95.238523
type: 'test'
...
# Subtest: the process loads the S3 adapter from plain-data trackers
ok 663 - the process loads the S3 adapter from plain-data trackers
---
duration_ms: 390.458658
type: 'test'
...
# Subtest: row 177 T1: a tester thread is owned by tester, and neither side reaches or lists the other
ok 664 - row 177 T1: a tester thread is owned by tester, and neither side reaches or lists the other
---
duration_ms: 45.94556
type: 'test'
...
# Subtest: row 177 T2: the tester thread.send is from tester-cli with no human.input; its open is by tester
ok 665 - row 177 T2: the tester thread.send is from tester-cli with no human.input; its open is by tester
---
duration_ms: 31.442685
type: 'test'
...
# Subtest: row 177 T3: the lists read the tester as the human in its own thread, and nowhere else
ok 666 - row 177 T3: the lists read the tester as the human in its own thread, and nowhere else
---
duration_ms: 30.598302
type: 'test'
...
# Subtest: row 177 T3: an assistant that would not hear the human refuses the tester too
ok 667 - row 177 T3: an assistant that would not hear the human refuses the tester too
---
duration_ms: 34.529832
type: 'test'
...
# Subtest: row 177 T4: the tester thread run answers the tester, never the human
ok 668 - row 177 T4: the tester thread run answers the tester, never the human
---
duration_ms: 88.23717
type: 'test'
...
# Subtest: row 177 T5: each stop revokes only its own threads, recorded by its own actor
ok 669 - row 177 T5: each stop revokes only its own threads, recorded by its own actor
---
duration_ms: 42.341444
type: 'test'
...
# Subtest: row 177 T5: the human stop never ends a tester run
ok 670 - row 177 T5: the human stop never ends a tester run
---
duration_ms: 39.885458
type: 'test'
...
# Subtest: row 177 T6: a business whose human is tester refuses invalid-business
ok 671 - row 177 T6: a business whose human is tester refuses invalid-business
---
duration_ms: 19.56054
type: 'test'
...
# Subtest: row 177 T7: the human trail shows a tester thread message as the tester
ok 672 - row 177 T7: the human trail shows a tester thread message as the tester
---
duration_ms: 35.96965
type: 'test'
...
# Subtest: row 177 T8: a tester-thread run never raises a decision to the human; a human-thread run still does
ok 673 - row 177 T8: a tester-thread run never raises a decision to the human; a human-thread run still does
---
duration_ms: 35.211399
type: 'test'
...
# Subtest: row 177 T8: a tester-thread raise routed to the arbiter stays allowed
ok 674 - row 177 T8: a tester-thread raise routed to the arbiter stays allowed
---
duration_ms: 26.059603
type: 'test'
...
# Subtest: row 182 T9: a tester reply into the human's thread refuses thread-not-owned and stores nothing
ok 675 - row 182 T9: a tester reply into the human's thread refuses thread-not-owned and stores nothing
---
duration_ms: 35.294669
type: 'test'
...
# Subtest: row 182 T9: a tester reply into its own thread lands there
ok 676 - row 182 T9: a tester reply into its own thread lands there
---
duration_ms: 30.477732
type: 'test'
...
# Subtest: row 182 T9: the chief's reply up a chain into a tester's thread lands there
ok 677 - row 182 T9: the chief's reply up a chain into a tester's thread lands there
---
duration_ms: 39.111119
type: 'test'
...
# Subtest: row 182 T9: a tester reply to a spec notice refuses thread-not-owned; the chief's relay still lands
ok 678 - row 182 T9: a tester reply to a spec notice refuses thread-not-owned; the chief's relay still lands
---
duration_ms: 36.029459
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: row 175: TESTER_VERBS and the organization branch tester set are pinned
ok 679 - row 175: TESTER_VERBS and the organization branch tester set are pinned
---
duration_ms: 2.790082
type: 'test'
...
# Subtest: row 175: each of the six reads as the tester deep-equals the human read
ok 680 - row 175: each of the six reads as the tester deep-equals the human read
---
duration_ms: 163.738197
type: 'test'
...
# Subtest: row 175: W1-W3 as the tester land with receipt actor tester; the human still logs the human
ok 681 - row 175: W1-W3 as the tester land with receipt actor tester; the human still logs the human
---
duration_ms: 120.757552
type: 'test'
...
# Subtest: row 175: W2 as the tester refuses credentials, protected definitions, human, tester and bus.tester, and changes nothing
ok 682 - row 175: W2 as the tester refuses credentials, protected definitions, human, tester and bus.tester, and changes nothing
---
duration_ms: 105.462263
type: 'test'
...
# Subtest: row 175: the human-only actions refuse a tester tester-refused, and the file and store stay as they were
ok 683 - row 175: the human-only actions refuse a tester tester-refused, and the file and store stay as they were
---
duration_ms: 100.205466
type: 'test'
...
# Subtest: row 175: W4 as the tester writes by tester and keeps every name check
ok 684 - row 175: W4 as the tester writes by tester and keeps every name check
---
duration_ms: 28.233988
type: 'test'
...
# Subtest: row 175: W6 as the tester records created_by tester; the human records the human
ok 685 - row 175: W6 as the tester records created_by tester; the human records the human
---
duration_ms: 26.02051
type: 'test'
...
# Subtest: row 175: with bus.tester unset or not exactly true no tester binds, so no read or write runs
ok 686 - row 175: with bus.tester unset or not exactly true no tester binds, so no read or write runs
---
duration_ms: 88.26446
type: 'test'
...
# Subtest: the tester binds only when the business sets bus.tester to exactly true
ok 687 - the tester binds only when the business sets bus.tester to exactly true
---
duration_ms: 145.808828
type: 'test'
...
# Subtest: a business may not name a role tester, so the tester address is never a role
ok 688 - a business may not name a role tester, so the tester address is never a role
---
duration_ms: 36.093792
type: 'test'
...
# Subtest: every verb outside the tester list refuses tester-refused and is recorded against the tester
ok 689 - every verb outside the tester list refuses tester-refused and is recorded against the tester
---
duration_ms: 76.052479
type: 'test'
...
# Subtest: a tester message is from tester, needs no prefix, and writes no human.input or authority
ok 690 - a tester message is from tester, needs no prefix, and writes no human.input or authority
---
duration_ms: 34.568432
type: 'test'
...
# Subtest: a tester message to a role no run holds refuses tester-target-not-running and stores nothing
ok 691 - a tester message to a role no run holds refuses tester-target-not-running and stores nothing
---
duration_ms: 24.342988
type: 'test'
...
# Subtest: a tester message is refused while the run is only launched, and routes once it claims
ok 692 - a tester message is refused while the run is only launched, and routes once it claims
---
duration_ms: 28.541652
type: 'test'
...
# Subtest: a human message to a role no run holds still waits and tells launch.by
ok 693 - a human message to a role no run holds still waits and tells launch.by
---
duration_ms: 25.064164
type: 'test'
...
# Subtest: a role answers a tester only in reply to a tester message, and the answer never reaches the human
ok 694 - a role answers a tester only in reply to a tester message, and the answer never reaches the human
---
duration_ms: 41.74924
type: 'test'
...
# Subtest: the tester reads the human views a reader reads
ok 695 - the tester reads the human views a reader reads
---
duration_ms: 47.456268
type: 'test'
...
# Subtest: tester proof binds its own CLI, start time and nonce, refuses a managed run and allows an agent
ok 696 - tester proof binds its own CLI, start time and nonce, refuses a managed run and allows an agent
---
duration_ms: 1.768579
type: 'test'
...
# Subtest: neither CLI's nonce proves the other: each proof is bound to its own CLI and nonce variable
ok 697 - neither CLI's nonce proves the other: each proof is bound to its own CLI and nonce variable
---
duration_ms: 0.49218
type: 'test'
...
# Subtest: testerNonce reads only the tester's variable and gives null on any read error
ok 698 - testerNonce reads only the tester's variable and gives null on any read error
---
duration_ms: 0.255138
type: 'test'
...
# Subtest: an envelope carries exactly one of cap, human and tester; no tester authenticator refuses
ok 699 - an envelope carries exactly one of cap, human and tester; no tester authenticator refuses
---
duration_ms: 160.926153
type: 'test'
...
# Subtest: tester-cli.mjs binds through the runtime when the switch is on, and refuses off or under a run marker
ok 700 - tester-cli.mjs binds through the runtime when the switch is on, and refuses off or under a run marker
---
duration_ms: 1591.409615
type: 'test'
...
# Subtest: T1: the human and the reader see a held thread claim; agents still lists the role only
ok 701 - T1: the human and the reader see a held thread claim; agents still lists the role only
---
duration_ms: 67.242448
type: 'test'
...
# Subtest: T2: a released or revoked thread claim is not listed, though its thread has an earlier claim row
ok 702 - T2: a released or revoked thread claim is not listed, though its thread has an earlier claim row
---
duration_ms: 45.034801
type: 'test'
...
# Subtest: T3: a role session refuses human-required and the tester refuses tester-refused
ok 703 - T3: a role session refuses human-required and the tester refuses tester-refused
---
duration_ms: 43.127194
type: 'test'
...
# Subtest: T4: agents answers each session the same before and after a thread run claims
ok 704 - T4: agents answers each session the same before and after a thread run claims
---
duration_ms: 33.019798
type: 'test'
...
# Subtest: T5: the result carries neither the thread name a user wrote nor a message body
ok 705 - T5: the result carries neither the thread name a user wrote nor a message body
---
duration_ms: 29.36674
type: 'test'
...
# Subtest: REQ-THREAD-1 REQ-ORG-2: the 3d→3e migration adds the thread tables and leaves messages from before threads as written
ok 706 - REQ-THREAD-1 REQ-ORG-2: the 3d→3e migration adds the thread tables and leaves messages from before threads as written
---
duration_ms: 133.251111
type: 'test'
...
# Subtest: REQ-THREAD-1: a 3d bus with a changed schema is refused and keeps its version and tables
ok 707 - REQ-THREAD-1: a 3d bus with a changed schema is refused and keeps its version and tables
---
duration_ms: 79.230771
type: 'test'
...
# Subtest: REQ-THREAD-1: the offline command prints the kept-message counts before the ready line
ok 708 - REQ-THREAD-1: the offline command prints the kept-message counts before the ready line
---
duration_ms: 176.171094
type: 'test'
...
# Subtest: REQ-ROLE-2 REQ-THREAD-1: one holder per thread, through the broker and the trigger
ok 709 - REQ-ROLE-2 REQ-THREAD-1: one holder per thread, through the broker and the trigger
---
duration_ms: 53.942478
type: 'test'
...
# Subtest: REQ-ROLE-2 REQ-THREAD-1: the 3e triggers refuse writes that skip the broker
ok 710 - REQ-ROLE-2 REQ-THREAD-1: the 3e triggers refuse writes that skip the broker
---
duration_ms: 94.824021
type: 'test'
...
# Subtest: REQ-MSG-1: a message to or from the assistant names its thread, or is refused
ok 711 - REQ-MSG-1: a message to or from the assistant names its thread, or is refused
---
duration_ms: 58.532616
type: 'test'
...
# Subtest: REQ-MSG-1: the chief of staff's reply comes back to the thread that sent the work
ok 712 - REQ-MSG-1: the chief of staff's reply comes back to the thread that sent the work
---
duration_ms: 1029.344623
type: 'test'
...
# Subtest: REQ-MSG-1: a reply can't carry one thread instance's thread to another thread instance
ok 713 - REQ-MSG-1: a reply can't carry one thread instance's thread to another thread instance
---
duration_ms: 24.422473
type: 'test'
...
# Subtest: REQ-THREAD-1 REQ-USER-2: one thread's messages never reach another thread's holder
ok 714 - REQ-THREAD-1 REQ-USER-2: one thread's messages never reach another thread's holder
---
duration_ms: 31.768789
type: 'test'
...
# Subtest: REQ-LAUNCH-1: a message to a thread with no holder waits, and the next holder gets it
ok 715 - REQ-LAUNCH-1: a message to a thread with no holder waits, and the next holder gets it
---
duration_ms: 41.245687
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1: threadIdle releases only a thread with nothing waiting, and only for its holder
ok 716 - REQ-THREAD-2 REQ-LAUNCH-1: threadIdle releases only a thread with nothing waiting, and only for its holder
---
duration_ms: 50.909037
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1: a message delivered to a run that ended unread doesn't hold up the next holder
ok 717 - REQ-THREAD-2 REQ-LAUNCH-1: a message delivered to a run that ended unread doesn't hold up the next holder
---
duration_ms: 39.588269
type: 'test'
...
# Subtest: REQ-ROLE-2 REQ-THREAD-1 Q169: a role.revoke the human approved ends every thread run of the assistant
ok 718 - REQ-ROLE-2 REQ-THREAD-1 Q169: a role.revoke the human approved ends every thread run of the assistant
---
duration_ms: 41.493091
type: 'test'
...
# Subtest: Q169 REQ-USER-2: assistant.stop ends the human's own assistant thread runs, and only the human's
ok 719 - Q169 REQ-USER-2: assistant.stop ends the human's own assistant thread runs, and only the human's
---
duration_ms: 55.100047
type: 'test'
...
# Subtest: REQ-USER-2: the human verbs refuse another owner's thread
ok 720 - REQ-USER-2: the human verbs refuse another owner's thread
---
duration_ms: 36.426442
type: 'test'
...
# Subtest: REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one
ok 721 - REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one
---
duration_ms: 33.28652
type: 'test'
...
# Subtest: REQ-ORG-2: projects and threads are named once, and the repo names a business project
ok 722 - REQ-ORG-2: projects and threads are named once, and the repo names a business project
---
duration_ms: 44.114304
type: 'test'
...
# Subtest: REQ-THREAD-2: thread.messages returns the thread's history in pages and writes nothing
ok 723 - REQ-THREAD-2: thread.messages returns the thread's history in pages and writes nothing
---
duration_ms: 131.193217
type: 'test'
...
# Subtest: project.create refuses a repository name without its matching repo before any write
ok 724 - project.create refuses a repository name without its matching repo before any write
---
duration_ms: 27.03708
type: 'test'
...
# Subtest: project.create keeps unrelated names with and without a repository
ok 725 - project.create keeps unrelated names with and without a repository
---
duration_ms: 20.354546
type: 'test'
...
# Subtest: socket capability stamps launch identity; shared views use wire, no SQL client
ok 726 - socket capability stamps launch identity; shared views use wire, no SQL client
---
duration_ms: 72.822863
type: 'test'
...
# Subtest: two wire claims serialize; a lost reply never automatically retries
ok 727 - two wire claims serialize; a lost reply never automatically retries
---
duration_ms: 63.909169
type: 'test'
...
# Subtest: malformed, oversized and identity-forging envelopes refuse without echoing input
ok 728 - malformed, oversized and identity-forging envelopes refuse without echoing input
---
duration_ms: 50.345218
type: 'test'
...
# Subtest: client preserves UTF-8 when a response divides a multibyte character
ok 729 - client preserves UTF-8 when a response divides a multibyte character
---
duration_ms: 12.330945
type: 'test'
...
# Subtest: committed mutation followed by dropped reply reports unknown and is never retried
ok 730 - committed mutation followed by dropped reply reports unknown and is never retried
---
duration_ms: 58.086734
type: 'test'
...
# Subtest: REQ-LIMIT-4 usage protocol binds run identity, requires a delivered turn and isolates businesses
ok 731 - REQ-LIMIT-4 usage protocol binds run identity, requires a delivered turn and isolates businesses
---
duration_ms: 47.249349
type: 'test'
...
# Subtest: REQ-LIMIT-4 3g copy migrates through 3h and 3i to 3j preserving every old column, row and sequence; new usage table is empty
ok 732 - REQ-LIMIT-4 3g copy migrates through 3h and 3i to 3j preserving every old column, row and sequence; new usage table is empty
---
duration_ms: 132.042053
type: 'test'
...
# Subtest: REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket
ok 733 - REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket
---
duration_ms: 96.801426
type: 'test'
...
# Subtest: REQ-LIMIT-4 loader source records new turn kinds, excludes history and retries exactly once
ok 734 - REQ-LIMIT-4 loader source records new turn kinds, excludes history and retries exactly once
---
duration_ms: 25.687357
type: 'test'
...
# Subtest: REQ-LIMIT-4 cut: unknown is durable and logged next to every total
ok 735 - REQ-LIMIT-4 cut: unknown is durable and logged next to every total
---
duration_ms: 20.471508
type: 'test'
...
# Subtest: REQ-LIMIT-4 disabled: unknown is durable and logged next to every total
ok 736 - REQ-LIMIT-4 disabled: unknown is durable and logged next to every total
---
duration_ms: 16.374666
type: 'test'
...
# Subtest: REQ-LIMIT-4 missing-begin: unknown is durable and logged next to every total
ok 737 - REQ-LIMIT-4 missing-begin: unknown is durable and logged next to every total
---
duration_ms: 18.371305
type: 'test'
...
# Subtest: REQ-LIMIT-4 no-new-usage: unknown is durable and logged next to every total
ok 738 - REQ-LIMIT-4 no-new-usage: unknown is durable and logged next to every total
---
duration_ms: 17.211254
type: 'test'
...
# Subtest: REQ-LIMIT-4 rewrite: unknown is durable and logged next to every total
ok 739 - REQ-LIMIT-4 rewrite: unknown is durable and logged next to every total
---
duration_ms: 17.030615
type: 'test'
...
# Subtest: REQ-LIMIT-4 unfinished turn remains visibly unknown after accounting restarts
ok 740 - REQ-LIMIT-4 unfinished turn remains visibly unknown after accounting restarts
---
duration_ms: 14.976779
type: 'test'
...
# Subtest: usage records are append-only
ok 741 - usage records are append-only
---
duration_ms: 14.855526
type: 'test'
...
# Subtest: REQ-LIMIT-4 parse failure logs its safe code, never transcript content
ok 742 - REQ-LIMIT-4 parse failure logs its safe code, never transcript content
---
duration_ms: 20.787998
type: 'test'
...
# Subtest: REQ-LIMIT-4 resumed run baselines history and exact totals do not overflow
ok 743 - REQ-LIMIT-4 resumed run baselines history and exact totals do not overflow
---
duration_ms: 24.928689
type: 'test'
...
# Subtest: REQ-PLUG-1 core has no transcript import and disabled sources do not read any transcript
ok 744 - REQ-PLUG-1 core has no transcript import and disabled sources do not read any transcript
---
duration_ms: 21.561861
type: 'test'
...
# Subtest: REQ-LIMIT-4 a resumed thread bills only new assistant messages to its next run
ok 745 - REQ-LIMIT-4 a resumed thread bills only new assistant messages to its next run
---
duration_ms: 17.636411
type: 'test'
...
# Subtest: REQ-LIMIT-4 every enabled source is called; failure is unknown and a partial total stays labelled
ok 746 - REQ-LIMIT-4 every enabled source is called; failure is unknown and a partial total stays labelled
---
duration_ms: 25.890486
type: 'test'
...
# Subtest: REQ-LIMIT-4 a turn whose reported sum exceeds safe precision is unknown, not rounded
ok 747 - REQ-LIMIT-4 a turn whose reported sum exceeds safe precision is unknown, not rounded
---
duration_ms: 17.252164
type: 'test'
...
# Subtest: row 65 a run bound without a transcript directory records no-transcript
ok 748 - row 65 a run bound without a transcript directory records no-transcript
---
duration_ms: 19.92789
type: 'test'
...
# Subtest: R3: bindUser binds a granted user and refuses one with no live collaborator grant
ok 749 - R3: bindUser binds a granted user and refuses one with no live collaborator grant
---
duration_ms: 24.847228
type: 'test'
...
# Subtest: R3: a user named like the business human, the tester or a principal word is refused, whatever the grants say
ok 750 - R3: a user named like the business human, the tester or a principal word is refused, whatever the grants say
---
duration_ms: 18.581722
type: 'test'
...
# Subtest: R3: each collaborator verb is allowed to a granted user
ok 751 - R3: each collaborator verb is allowed to a granted user
---
duration_ms: 29.822414
type: 'test'
...
# Subtest: R3: every verb off the collaborator list refuses a user access-refused before its own checks
ok 752 - R3: every verb off the collaborator list refuses a user access-refused before its own checks
---
duration_ms: 192.284665
type: 'test'
...
# Subtest: R3: task, web and host verbs refuse a user access-refused
ok 753 - R3: task, web and host verbs refuse a user access-refused
---
duration_ms: 42.544357
type: 'test'
...
# Subtest: R3 leak: project.list shows granted projects only
ok 754 - R3 leak: project.list shows granted projects only
---
duration_ms: 24.266719
type: 'test'
...
# Subtest: R3 leak: thread.create needs the project and the thread instance granted, and an ungranted id reads as one that does not exist
ok 755 - R3 leak: thread.create needs the project and the thread instance granted, and an ungranted id reads as one that does not exist
---
duration_ms: 30.745384
type: 'test'
...
# Subtest: R3 leak: thread.list shows the user its own threads that are still granted, never others
ok 756 - R3 leak: thread.list shows the user its own threads that are still granted, never others
---
duration_ms: 84.627099
type: 'test'
...
# Subtest: R3 leak: names shows granted instances only
ok 757 - R3 leak: names shows granted instances only
---
duration_ms: 28.525947
type: 'test'
...
# Subtest: R3: thread.send is from user:<id> and writes no human.input
ok 758 - R3: thread.send is from user:<id> and writes no human.input
---
duration_ms: 19.387233
type: 'test'
...
# Subtest: R3: a reply-chain message.send into another user thread is refused
ok 759 - R3: a reply-chain message.send into another user thread is refused
---
duration_ms: 27.683118
type: 'test'
...
# Subtest: R3: the run reply to a user message reaches that user thread.messages, with no waiting and no notice
ok 760 - R3: the run reply to a user message reaches that user thread.messages, with no waiting and no notice
---
duration_ms: 24.906313
type: 'test'
...
# Subtest: R3: a reply to: user without a matching in_reply_to is refused user-reply-required
ok 761 - R3: a reply to: user without a matching in_reply_to is refused user-reply-required
---
duration_ms: 42.064422
type: 'test'
...
# Subtest: R3: a non-thread run, the human and the tester cannot send to: user
ok 762 - R3: a non-thread run, the human and the tester cannot send to: user
---
duration_ms: 22.143721
type: 'test'
...
# Subtest: R3: a user thread run cannot message the owner, while its uncited gated raise reaches only the owner inbox, B9
ok 763 - R3: a user thread run cannot message the owner, while its uncited gated raise reaches only the owner inbox, B9
---
duration_ms: 24.082394
type: 'test'
...
# Subtest: R3: a removed or expired grant refuses the next request access-revoked, and the file is read per request
ok 764 - R3: a removed or expired grant refuses the next request access-revoked, and the file is read per request
---
duration_ms: 17.882013
type: 'test'
...
# Subtest: R3: a user refusal is recorded as action.refused by user:<id>
ok 765 - R3: a user refusal is recorded as action.refused by user:<id>
---
duration_ms: 15.044978
type: 'test'
...
# Subtest: R3: a business with a role keyed user refuses invalid-business
ok 766 - R3: a business with a role keyed user refuses invalid-business
---
duration_ms: 13.126817
type: 'test'
...
# Subtest: R3: name.set refuses the name user
ok 767 - R3: name.set refuses the name user
---
duration_ms: 11.737804
type: 'test'
...
# Subtest: R3 r4: while halted, a granted user's thread.send refuses processing-halted and thread.messages still answers
ok 768 - R3 r4: while halted, a granted user's thread.send refuses processing-halted and thread.messages still answers
---
duration_ms: 15.02931
type: 'test'
...
# Subtest: R3 r4: the chief's hire refuses an instance named user with the code it gives human and tester
ok 769 - R3 r4: the chief's hire refuses an instance named user with the code it gives human and tester
---
duration_ms: 22.119106
type: 'test'
...
# Subtest: R3 r4: a non-function access throws before the store is read
ok 770 - R3 r4: a non-function access throws before the store is read
---
duration_ms: 0.156382
type: 'test'
...
# Subtest: web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query
ok 771 - web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query
---
duration_ms: 34.793164
type: 'test'
...
# Subtest: web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url
ok 772 - web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url
---
duration_ms: 38.841157
type: 'test'
...
# Subtest: a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched
ok 773 - a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched
---
duration_ms: 31.803672
type: 'test'
...
# Subtest: a broker with no web service refuses a granted role
ok 774 - a broker with no web service refuses a granted role
---
duration_ms: 23.591561
type: 'test'
...
# Subtest: bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session
ok 775 - bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session
---
duration_ms: 36.430958
type: 'test'
...
# Subtest: a session that is not the role holder is refused
ok 776 - a session that is not the role holder is refused
---
duration_ms: 22.347979
type: 'test'
...
# Subtest: web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason
ok 777 - web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason
---
duration_ms: 87.907505
type: 'test'
...
# Subtest: web.search with no search source configured is a refused result, not an error
ok 778 - web.search with no search source configured is a refused result, not an error
---
duration_ms: 26.345467
type: 'test'
...
# Subtest: a search source that fails with its own refusal, or that throws, is handled
ok 779 - a search source that fails with its own refusal, or that throws, is handled
---
duration_ms: 28.511423
type: 'test'
...
# Subtest: a slow search source ends in a refusal at the deadline
ok 780 - a slow search source ends in a refusal at the deadline
---
duration_ms: 76.279715
type: 'test'
...
# Subtest: a secret in the arguments is refused before anything is trailed or fetched
ok 781 - a secret in the arguments is refused before anything is trailed or fetched
---
duration_ms: 16.619047
type: 'test'
...
# Subtest: over the socket: the server routes web verbs to the service; other roles are refused; no service is web-not-configured
ok 782 - over the socket: the server routes web verbs to the service; other roles are refused; no service is web-not-configured
---
duration_ms: 87.980428
type: 'test'
...
# Subtest: busBusiness: the web grant comes from "web" in the resolved tool limit
ok 783 - busBusiness: the web grant comes from "web" in the resolved tool limit
---
duration_ms: 0.338456
type: 'test'
...
# Subtest: webServices: the business's search-source plug-in and web.searxng var make web.search work; without either it is refused as not configured
ok 784 - webServices: the business's search-source plug-in and web.searxng var make web.search work; without either it is refused as not configured
---
duration_ms: 56.584806
type: 'test'
...
# Subtest: an ungranted call is refused at once: no admission, no wait, nothing touched
ok 785 - an ungranted call is refused at once: no admission, no wait, nothing touched
---
duration_ms: 21.956649
type: 'test'
...
# Subtest: over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait
ok 786 - over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait
---
duration_ms: 348.209025
type: 'test'
...
# Subtest: a search that never answers is aborted at the deadline, the module sees the signal, and the call is trailed as refused (timeout)
ok 787 - a search that never answers is aborted at the deadline, the module sees the signal, and the call is trailed as refused (timeout)
---
duration_ms: 81.506426
type: 'test'
...
# Subtest: a fetch that stalls is cut off at the deadline: the request is destroyed, not left running
ok 788 - a fetch that stalls is cut off at the deadline: the request is destroyed, not left running
---
duration_ms: 101.248963
type: 'test'
...
# Subtest: one query limit: over SEARCH_MAX_QUERY_CHARS or empty is refused with the same reason before any backend, and the tool schema carries the same number
ok 789 - one query limit: over SEARCH_MAX_QUERY_CHARS or empty is refused with the same reason before any backend, and the tool schema carries the same number
---
duration_ms: 32.309805
type: 'test'
...
# Subtest: merge-gate's technical raise is cross-role, goes to the cto, and only merge-gate can use the approval
ok 790 - merge-gate's technical raise is cross-role, goes to the cto, and only merge-gate can use the approval
---
duration_ms: 62.485257
type: 'test'
...
# Subtest: merge-gate has no message.send, and without a domain its raise goes to the delivery arbiter
ok 791 - merge-gate has no message.send, and without a domain its raise goes to the delivery arbiter
---
duration_ms: 52.158103
type: 'test'
...
# Subtest: the cto must be able to message merge-gate, or the technical raise is refused (row 133)
ok 792 - the cto must be able to message merge-gate, or the technical raise is refused (row 133)
---
duration_ms: 46.836053
type: 'test'
...
# Subtest: security-reviewer answers a review with its verdict alone; it holds no message.send
ok 793 - security-reviewer answers a review with its verdict alone; it holds no message.send
---
duration_ms: 58.61255
type: 'test'
...
1..793
# tests 793
# suites 0
# pass 793
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 23052.698981
TAP version 13
# Subtest: row 194 T16 Settings Agents: unavailable read-only, launch follows its request, confirms, reason and refusal
ok 1 - row 194 T16 Settings Agents: unavailable read-only, launch follows its request, confirms, reason and refusal
---
duration_ms: 19722.467094
type: 'test'
...
# Subtest: row 256 T7 T8 the human page offers Delete on a creative instance, the tester page never does
ok 2 - row 256 T7 T8 the human page offers Delete on a creative instance, the tester page never does
---
duration_ms: 2665.549493
type: 'test'
...
# Subtest: row 194 T16: each agent action makes one call with only its keys, logs the user and answers the request
ok 3 - row 194 T16: each agent action makes one call with only its keys, logs the user and answers the request
---
duration_ms: 45.831062
type: 'test'
...
# Subtest: row 194 T16: the boundary refuses before any bus call
ok 4 - row 194 T16: the boundary refuses before any bus call
---
duration_ms: 25.060433
type: 'test'
...
# Subtest: row 194 T16: read-only when send is off or no writer is wired; no route has a --send exception
ok 5 - row 194 T16: read-only when send is off or no writer is wired; no route has a --send exception
---
duration_ms: 12.008321
type: 'test'
...
# Subtest: row 194 T16: a bus refusal names its reason and nothing changed; an unknown outcome or a bad shape is never retried
ok 6 - row 194 T16: a bus refusal names its reason and nothing changed; an unknown outcome or a bad shape is never retried
---
duration_ms: 8.872555
type: 'test'
...
# Subtest: row 194 T16: the request read takes one id, adds the refusal reason and refuses an unexpected shape
ok 7 - row 194 T16: the request read takes one id, adds the refusal reason and refuses an unexpected shape
---
duration_ms: 9.731533
type: 'test'
...
# Subtest: row 194 T16: delete joins add and change on /api/instances with only revision, instance and op
ok 8 - row 194 T16: delete joins add and change on /api/instances with only revision, instance and op
---
duration_ms: 5.421493
type: 'test'
...
# Subtest: row 194 T16 D4.1: the tester listener launches, terminates and reads requests; regenerate, veto and delete are refused with no call
ok 9 - row 194 T16 D4.1: the tester listener launches, terminates and reads requests; regenerate, veto and delete are refused with no call
---
duration_ms: 10.682543
type: 'test'
...
# Subtest: row 194 N5: agents.js is served as JavaScript and index.html loads it once
ok 10 - row 194 N5: agents.js is served as JavaScript and index.html loads it once
---
duration_ms: 4.335376
type: 'test'
...
# Subtest: Q169 the signed-in human names a seat and stops the assistant, one bus call each, logged with the user
ok 11 - Q169 the signed-in human names a seat and stops the assistant, one bus call each, logged with the user
---
duration_ms: 34.353975
type: 'test'
...
# Subtest: Q169 the name and stop routes need send on, the public name, the user, the exact Origin and same-origin Fetch Metadata
ok 12 - Q169 the name and stop routes need send on, the public name, the user, the exact Origin and same-origin Fetch Metadata
---
duration_ms: 18.688186
type: 'test'
...
# Subtest: Q169 the name and stop routes take JSON within 4 KiB and only their own keys, all text
ok 13 - Q169 the name and stop routes take JSON within 4 KiB and only their own keys, all text
---
duration_ms: 13.394308
type: 'test'
...
# Subtest: Row 167 a null body on the name and stop routes is 400 invalid-request with no write, and the next request is answered
ok 14 - Row 167 a null body on the name and stop routes is 400 invalid-request with no write, and the next request is answered
---
duration_ms: 6.542402
type: 'test'
...
# Subtest: Q169 a bus refusal says nothing changed; a lost or odd answer says the change may have been made
ok 15 - Q169 a bus refusal says nothing changed; a lost or odd answer says the change may have been made
---
duration_ms: 11.898699
type: 'test'
...
# Subtest: Q169 the names read is a bus read like the others
ok 16 - Q169 the names read is a bus read like the others
---
duration_ms: 4.679206
type: 'test'
...
# Subtest: the Board: held roles with no machine sessions, a claim with no address, the toggle kept across a reload, and Message addressed to the role
ok 17 - the Board: held roles with no machine sessions, a claim with no address, the toggle kept across a reload, and Message addressed to the role
---
duration_ms: 8026.313327
type: 'test'
...
# Subtest: a Seen click while a Board read is in flight waits for that read, then posts
ok 18 - a Seen click while a Board read is in flight waits for that read, then posts
---
duration_ms: 3672.329244
type: 'test'
...
# Subtest: a redirect answer on a Board read, a bus read, a conversation read, a board POST, a module read and a send signs the page out: one line, nothing stale, no further reads
ok 19 - a redirect answer on a Board read, a bus read, a conversation read, a board POST, a module read and a send signs the page out: one line, nothing stale, no further reads
---
duration_ms: 10231.001667
type: 'test'
...
# Subtest: browser edge states: loading, empty, malformed, stale, hostile/long values, in-flight reply and appearance fallback
ok 20 - browser edge states: loading, empty, malformed, stale, hostile/long values, in-flight reply and appearance fallback
---
duration_ms: 4464.088575
type: 'test'
...
# Rendered contrast: {"failures":[],"count":330,"lowest":4.504658476260286}
# Subtest: served Console browser: real board fixtures, keyboard, drafts, receipts, themes, 320px and failures
ok 21 - served Console browser: real board fixtures, keyboard, drafts, receipts, themes, 320px and failures
---
duration_ms: 6808.448076
type: 'test'
...
# Subtest: the README says a refused field table names the file or the key at fault, never a path
ok 22 - the README says a refused field table names the file or the key at fault, never a path
---
duration_ms: 1.598907
type: 'test'
...
# Subtest: S5 pages in a browser: real broker rows, inert text, Copy, routes, failures, layout and no writes
ok 23 - S5 pages in a browser: real broker rows, inert text, Copy, routes, failures, layout and no writes
---
duration_ms: 10800.619091
type: 'test'
...
# Subtest: bus routes serve the four reads from the reader view, unescaped JSON for the page to escape
ok 24 - bus routes serve the four reads from the reader view, unescaped JSON for the page to escape
---
duration_ms: 156.11055
type: 'test'
...
# Subtest: decisions route serves the roles and recent lists from the reader view
ok 25 - decisions route serves the roles and recent lists from the reader view
---
duration_ms: 124.178495
type: 'test'
...
# Subtest: credentials route serves the broker credential status from the reader view
ok 26 - credentials route serves the broker credential status from the reader view
---
duration_ms: 75.44142
type: 'test'
...
# Subtest: replies route serves the replies to one message from the reader view
ok 27 - replies route serves the replies to one message from the reader view
---
duration_ms: 322.914419
type: 'test'
...
# Subtest: bus routes are GET-only, have no write verb, and keep the same-origin checks
ok 28 - bus routes are GET-only, have no write verb, and keep the same-origin checks
---
duration_ms: 337.70661
type: 'test'
...
# Subtest: bus refusals map to statuses and never carry a path or a stack
ok 29 - bus refusals map to statuses and never carry a path or a stack
---
duration_ms: 191.387869
type: 'test'
...
# Subtest: humanCall speaks the human transport protocol without blocking the server
ok 30 - humanCall speaks the human transport protocol without blocking the server
---
duration_ms: 2665.778423
type: 'test'
...
# Subtest: busReader takes --business, else the live bus host, else refuses
ok 31 - busReader takes --business, else the live bus host, else refuses
---
duration_ms: 505.760359
type: 'test'
...
# Subtest: humanCall kills a transport that runs past its timeout
ok 32 - humanCall kills a transport that runs past its timeout
---
duration_ms: 562.527576
type: 'test'
...
# Subtest: serve refuses a --business value that is not a business id
ok 33 - serve refuses a --business value that is not a business id
---
duration_ms: 874.331282
type: 'test'
...
# Subtest: WebUI channel off returns 503 and named recovery for every chat route without a chat operation
ok 34 - WebUI channel off returns 503 and named recovery for every chat route without a chat operation
---
duration_ms: 69.867764
type: 'test'
...
# Subtest: WebUI only selection keeps web chat enabled while retaining the old read envelope
ok 35 - WebUI only selection keeps web chat enabled while retaining the old read envelope
---
duration_ms: 5.519174
type: 'test'
...
# Subtest: WebUI channel-disabled recovery text is fixed and never echoes transport text
ok 36 - WebUI channel-disabled recovery text is fixed and never echoes transport text
---
duration_ms: 6.776799
type: 'test'
...
# Subtest: chat browser: list/create named projects and threads, hostile labels inert and no implicit writes
ok 37 - chat browser: list/create named projects and threads, hostile labels inert and no implicit writes
---
duration_ms: 3203.198316
type: 'test'
...
# Subtest: chat browser: thread drafts, receipts and cursor history stay isolated; refresh never writes
ok 38 - chat browser: thread drafts, receipts and cursor history stay isolated; refresh never writes
---
duration_ms: 2832.690929
type: 'test'
...
# Subtest: chat browser: uncertain writes retain draft, ownership refusal clears it, read-only cannot send
ok 39 - chat browser: uncertain writes retain draft, ownership refusal clears it, read-only cannot send
---
duration_ms: 3188.990295
type: 'test'
...
# Subtest: chat browser: a late read from A cannot paint B; sign-out clears private state and stops reads
ok 40 - chat browser: a late read from A cannot paint B; sign-out clears private state and stops reads
---
duration_ms: 3943.334503
type: 'test'
...
# Subtest: chat browser: page forward and deduplicate replies; pending and byte-limit submissions do not duplicate
ok 41 - chat browser: page forward and deduplicate replies; pending and byte-limit submissions do not duplicate
---
duration_ms: 2622.67007
type: 'test'
...
# Subtest: chat browser: scrolled history stays put, New messages and an own send return to the tail
ok 42 - chat browser: scrolled history stays put, New messages and an own send return to the tail
---
duration_ms: 2007.264787
type: 'test'
...
# Subtest: chat browser: automatic polling follows a reply without a POST or a lost draft
ok 43 - chat browser: automatic polling follows a reply without a POST or a lost draft
---
duration_ms: 12128.08
type: 'test'
...
# Subtest: chat browser: display stays bounded while every forward page remains reachable
ok 44 - chat browser: display stays bounded while every forward page remains reachable
---
duration_ms: 2212.921943
type: 'test'
...
# Subtest: chat browser: a confirmed visible message replaces its pending receipt; malformed receipts stay unknown
ok 45 - chat browser: a confirmed visible message replaces its pending receipt; malformed receipts stay unknown
---
duration_ms: 1125.824756
type: 'test'
...
# Subtest: chat browser: a refusal elsewhere forgets private chat drafts
ok 46 - chat browser: a refusal elsewhere forgets private chat drafts
---
duration_ms: 1261.738862
type: 'test'
...
# Subtest: chat browser: a late project creation receipt cannot navigate away from another thread
ok 47 - chat browser: a late project creation receipt cannot navigate away from another thread
---
duration_ms: 1264.256224
type: 'test'
...
# Subtest: chat reads map only fixed verbs, strict forward paging and pure GET
ok 48 - chat reads map only fixed verbs, strict forward paging and pure GET
---
duration_ms: 54.381854
type: 'test'
...
# Subtest: chat refuses malformed and repeated query/id values before transport
ok 49 - chat refuses malformed and repeated query/id values before transport
---
duration_ms: 9.987121
type: 'test'
...
# Subtest: chat project.create: one verified write, fixed identity/class and private log
ok 50 - chat project.create: one verified write, fixed identity/class and private log
---
duration_ms: 4.899367
type: 'test'
...
# Subtest: chat project.create: each existing Console write fence makes zero bus calls
ok 51 - chat project.create: each existing Console write fence makes zero bus calls
---
duration_ms: 17.883345
type: 'test'
...
# Subtest: chat project.create: refusal or lost/malformed receipt never retries or invents success
ok 52 - chat project.create: refusal or lost/malformed receipt never retries or invents success
---
duration_ms: 8.472625
type: 'test'
...
# Subtest: chat thread.create: one verified write, fixed identity/class and private log
ok 53 - chat thread.create: one verified write, fixed identity/class and private log
---
duration_ms: 2.790413
type: 'test'
...
# Subtest: chat thread.create: each existing Console write fence makes zero bus calls
ok 54 - chat thread.create: each existing Console write fence makes zero bus calls
---
duration_ms: 12.794851
type: 'test'
...
# Subtest: chat thread.create: refusal or lost/malformed receipt never retries or invents success
ok 55 - chat thread.create: refusal or lost/malformed receipt never retries or invents success
---
duration_ms: 11.608057
type: 'test'
...
# Subtest: chat thread.send: one verified write, fixed identity/class and private log
ok 56 - chat thread.send: one verified write, fixed identity/class and private log
---
duration_ms: 3.936935
type: 'test'
...
# Subtest: chat thread.send: each existing Console write fence makes zero bus calls
ok 57 - chat thread.send: each existing Console write fence makes zero bus calls
---
duration_ms: 12.371083
type: 'test'
...
# Subtest: chat thread.send: refusal or lost/malformed receipt never retries or invents success
ok 58 - chat thread.send: refusal or lost/malformed receipt never retries or invents success
---
duration_ms: 7.147369
type: 'test'
...
# Subtest: chat thread.open: one verified write, fixed identity/class and private log
ok 59 - chat thread.open: one verified write, fixed identity/class and private log
---
duration_ms: 2.576445
type: 'test'
...
# Subtest: chat thread.open: each existing Console write fence makes zero bus calls
ok 60 - chat thread.open: each existing Console write fence makes zero bus calls
---
duration_ms: 15.673139
type: 'test'
...
# Subtest: chat thread.open: refusal or lost/malformed receipt never retries or invents success
ok 61 - chat thread.open: refusal or lost/malformed receipt never retries or invents success
---
duration_ms: 11.014525
type: 'test'
...
# Subtest: chat createThread receipt requires an instance even when its id is valid
ok 62 - chat createThread receipt requires an instance even when its id is valid
---
duration_ms: 5.838636
type: 'test'
...
# Subtest: chat write receipts expose only the fields belonging to their operation
ok 63 - chat write receipts expose only the fields belonging to their operation
---
duration_ms: 13.965753
type: 'test'
...
# Subtest: chat validates names, body, project and strict empty open payload
ok 64 - chat validates names, body, project and strict empty open payload
---
duration_ms: 8.412132
type: 'test'
...
# Subtest: chat read failures redact ownership and refuse invalid transport arrays
ok 65 - chat read failures redact ownership and refuse invalid transport arrays
---
duration_ms: 8.645967
type: 'test'
...
# Subtest: REQ-USER-2 real broker: owned catalog, create/name/filter, isolated history and 403/404 without mutations
ok 66 - REQ-USER-2 real broker: owned catalog, create/name/filter, isolated history and 403/404 without mutations
---
duration_ms: 492.084292
type: 'test'
...
# Subtest: chat repeats every POST boundary even when called behind an admitted request
ok 67 - chat repeats every POST boundary even when called behind an admitted request
---
duration_ms: 7.877057
type: 'test'
...
# Subtest: configured Console process injects chat through its existing human transport
ok 68 - configured Console process injects chat through its existing human transport
---
duration_ms: 1683.068526
type: 'test'
...
# Subtest: chat assets, GET purity, method and unknown-route refusals are explicit
ok 69 - chat assets, GET purity, method and unknown-route refusals are explicit
---
duration_ms: 56.986847
type: 'test'
...
# Subtest: the chat seam names the transport it is given: the human one and the tester one both pass, anything else is a TypeError
ok 70 - the chat seam names the transport it is given: the human one and the tester one both pass, anything else is a TypeError
---
duration_ms: 2.728719
type: 'test'
...
# Subtest: conversation view: full history, collapsed tools, hidden thinking, inert hostile content, malformed and reconcile markers
ok 71 - conversation view: full history, collapsed tools, hidden thinking, inert hostile content, malformed and reconcile markers
---
duration_ms: 4428.41634
type: 'test'
...
# Subtest: conversation view: a fork keeps the open branch, says so, and opens the new one on request
ok 72 - conversation view: a fork keeps the open branch, says so, and opens the new one on request
---
duration_ms: 4609.884955
type: 'test'
...
# Subtest: conversation view: a newer session with no readable history keeps the marker
ok 73 - conversation view: a newer session with no readable history keeps the marker
---
duration_ms: 4326.658881
type: 'test'
...
# Subtest: conversation view: seats without history say so and offer no reply
ok 74 - conversation view: seats without history say so and offer no reply
---
duration_ms: 2246.458906
type: 'test'
...
# Subtest: Discord row through real board/WebUI: independent brake/liveness, no Reply, literal content
ok 75 - Discord row through real board/WebUI: independent brake/liveness, no Reply, literal content
---
duration_ms: 3401.002108
type: 'test'
...
# Subtest: the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
ok 76 - the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
---
duration_ms: 7694.696497
type: 'test'
...
# Subtest: the Console's CSP stands and the editor runs under it; hostile markdown on the load path runs and loads nothing
ok 77 - the Console's CSP stands and the editor runs under it; hostile markdown on the load path runs and loads nothing
---
duration_ms: 4823.723872
type: 'test'
...
# Subtest: hostile content pasted into the editor runs and loads nothing, and a bad link target is refused in the link bar
ok 78 - hostile content pasted into the editor runs and loads nothing, and a bad link target is refused in the link bar
---
duration_ms: 4143.534284
type: 'test'
...
# Subtest: a pasted image span is kept only for a target the link gate accepts, and a save writes only those
ok 79 - a pasted image span is kept only for a target the link gate accepts, and a save writes only those
---
duration_ms: 3335.619974
type: 'test'
...
# Subtest: a switch of view reads nothing; a reload, and a trip away and back, each read the file exactly once
ok 80 - a switch of view reads nothing; a reload, and a trip away and back, each read the file exactly once
---
duration_ms: 5372.575933
type: 'test'
...
# Subtest: an edit rewrites only the block touched; a save sends the rest byte for byte; the Source view carries the draft
ok 81 - an edit rewrites only the block touched; a save sends the rest byte for byte; the Source view carries the draft
---
duration_ms: 2659.353709
type: 'test'
...
# Subtest: a file the editor cannot write back byte for byte opens as Source, says so, cannot save, and the Visual button works once it can
ok 82 - a file the editor cannot write back byte for byte opens as Source, says so, cannot save, and the Visual button works once it can
---
duration_ms: 3609.462268
type: 'test'
...
# Subtest: a link title pasted with line breaks in it is written on one line, so no HTML block comes of it
ok 83 - a link title pasted with line breaks in it is written on one line, so no HTML block comes of it
---
duration_ms: 1417.603943
type: 'test'
...
# Subtest: an image alt pasted with line breaks in it is written on one line, so no HTML block comes of it
ok 84 - an image alt pasted with line breaks in it is written on one line, so no HTML block comes of it
---
duration_ms: 1822.81194
type: 'test'
...
# Subtest: an image title pasted with line breaks in it is written on one line, so no HTML block comes of it
ok 85 - an image title pasted with line breaks in it is written on one line, so no HTML block comes of it
---
duration_ms: 1737.966698
type: 'test'
...
# Subtest: a code block info string pasted with line breaks in it is written on one line, so no HTML block comes of it
ok 86 - a code block info string pasted with line breaks in it is written on one line, so no HTML block comes of it
---
duration_ms: 2427.539216
type: 'test'
...
# Subtest: a link title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed
ok 87 - a link title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed
---
duration_ms: 1286.480722
type: 'test'
...
# Subtest: an image title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed
ok 88 - an image title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed
---
duration_ms: 1188.927347
type: 'test'
...
# Subtest: a link title holding a trailing backslash is written with the backslash escaped, so the title stays closed
ok 89 - a link title holding a trailing backslash is written with the backslash escaped, so the title stays closed
---
duration_ms: 1182.728216
type: 'test'
...
# Subtest: an image title holding a trailing backslash is written with the backslash escaped, so the title stays closed
ok 90 - an image title holding a trailing backslash is written with the backslash escaped, so the title stays closed
---
duration_ms: 1100.970916
type: 'test'
...
# Subtest: a code block info string with a backtick, pasted, is dropped on Save, so the fence stays closed
ok 91 - a code block info string with a backtick, pasted, is dropped on Save, so the fence stays closed
---
duration_ms: 877.565905
type: 'test'
...
# Subtest: a code block info string with a backtick, as a tilde fence can have, is kept as source, not rewritten without it
ok 92 - a code block info string with a backtick, as a tilde fence can have, is kept as source, not rewritten without it
---
duration_ms: 602.87349
type: 'test'
...
# Subtest: the imported source is the tagged upstream source plus the recorded local changes, and nothing else
ok 93 - the imported source is the tagged upstream source plus the recorded local changes, and nothing else
---
duration_ms: 175.184432
type: 'test'
...
# Subtest: every package names its origin and license, and NOTICE lists each
ok 94 - every package names its origin and license, and NOTICE lists each
---
duration_ms: 1.299094
type: 'test'
...
# Subtest: the build reads only imported source and the editor's own files; the bundle is the recorded build
ok 95 - the build reads only imported source and the editor's own files; the bundle is the recorded build
---
duration_ms: 38.687629
type: 'test'
...
# Subtest: MOSAIC_REQUIRE_EDITOR_BUILD: a missing or wrong esbuild skips without it and fails with it; a wrong binary always fails
ok 96 - MOSAIC_REQUIRE_EDITOR_BUILD: a missing or wrong esbuild skips without it and fails with it; a wrong binary always fails
---
duration_ms: 16.107643
type: 'test'
...
# Subtest: the toolchain check, run as a program, exits non-zero without esbuild when the build is required
ok 97 - the toolchain check, run as a program, exits non-zero without esbuild when the build is required
---
duration_ms: 864.08845
type: 'test'
...
# Subtest: rebuilding from the source gives the same bytes (needs the pinned esbuild; MOSAIC_REQUIRE_EDITOR_BUILD=1 makes its absence a failure)
ok 98 - rebuilding from the source gives the same bytes (needs the pinned esbuild; MOSAIC_REQUIRE_EDITOR_BUILD=1 makes its absence a failure) # SKIP esbuild 0.28.1 is installed at /mnt/storage/src/mosaic-stack/node_modules/esbuild; the editor rebuild needs exactly 0.28.2 (npm ci --ignore-scripts in packages/webui) (set MOSAIC_REQUIRE_EDITOR_BUILD=1 to fail instead of skip)
---
duration_ms: 1.318882
type: 'test'
...
# Subtest: the editor routes serve the built files with their types and no cache
ok 99 - the editor routes serve the built files with their types and no cache
---
duration_ms: 154.440987
type: 'test'
...
# Subtest: open and save with no edit writes the same bytes: the goals review and a doc with every element
ok 100 - open and save with no edit writes the same bytes: the goals review and a doc with every element
---
duration_ms: 104.030905
type: 'test'
...
# Subtest: open and save with no edit writes the same bytes: every repository doc under docs/ and spec/
ok 101 - open and save with no edit writes the same bytes: every repository doc under docs/ and spec/
---
duration_ms: 7724.99295
type: 'test'
...
# Subtest: the editor source builds markup only with DOM calls, and the bundle has no eval
ok 102 - the editor source builds markup only with DOM calls, and the bundle has no eval
---
duration_ms: 4.538689
type: 'test'
...
# Subtest: the link gate and the image rule are the preview's
ok 103 - the link gate and the image rule are the preview's
---
duration_ms: 1.3672
type: 'test'
...
# Subtest: return flow through the conversation view: send, tool call, delayed result, peer message, exact long answers, relaunch
ok 104 - return flow through the conversation view: send, tool call, delayed result, peer message, exact long answers, relaunch
---
duration_ms: 54209.709774
type: 'test'
...
# Subtest: row 165 Settings: role instances read, add with a restart named, change without one, a refusal keeps the draft
ok 105 - row 165 Settings: role instances read, add with a restart named, change without one, a refusal keeps the draft
---
duration_ms: 6544.525082
type: 'test'
...
# Subtest: row 165 Console: the signed-in human adds an instance through a real broker; validate exits 0, the log names the human and no restart is needed (row 194)
ok 106 - row 165 Console: the signed-in human adds an instance through a real broker; validate exits 0, the log names the human and no restart is needed (row 194)
---
duration_ms: 1304.550087
type: 'test'
...
# Subtest: row 165 Console: the instance write needs send on, the public name, the user, the exact Origin and same-origin Fetch Metadata
ok 107 - row 165 Console: the instance write needs send on, the public name, the user, the exact Origin and same-origin Fetch Metadata
---
duration_ms: 14.475744
type: 'test'
...
# Subtest: row 165 Console: the instance write takes JSON within 16 KiB and only its own keys; holder, credentials and an actor are refused
ok 108 - row 165 Console: the instance write takes JSON within 16 KiB and only its own keys; holder, credentials and an actor are refused
---
duration_ms: 19.86404
type: 'test'
...
# Subtest: row 165 Console: a bus refusal says nothing changed; a lost or odd answer says the change may have been made
ok 109 - row 165 Console: a bus refusal says nothing changed; a lost or odd answer says the change may have been made
---
duration_ms: 24.100057
type: 'test'
...
# Subtest: row 165 Console: the instances read takes no arguments, needs a bus and refuses an answer without a revision
ok 110 - row 165 Console: the instances read takes no arguments, needs a bus and refuses an answer without a revision
---
duration_ms: 11.023141
type: 'test'
...
# Subtest: C2-04 CLI: both listener callback pairs dispatch library verbs with their own transport
ok 111 - C2-04 CLI: both listener callback pairs dispatch library verbs with their own transport
---
duration_ms: 435.714677
type: 'test'
...
# Subtest: row 254: each library sync code maps to its status
ok 112 - row 254: each library sync code maps to its status
---
duration_ms: 4.535032
type: 'test'
...
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 Settings shows token limits counted, not enforced and check failed; Reset posts one path; a save keeps the token limits
ok 113 - REQ-LIMIT-3 REQ-LIMIT-4 Settings shows token limits counted, not enforced and check failed; Reset posts one path; a save keeps the token limits
---
duration_ms: 4751.3898
type: 'test'
...
# Subtest: Row 167 with an assistant draft open, a token limit reset gives the assistant submit its revision
ok 114 - Row 167 with an assistant draft open, a token limit reset gives the assistant submit its revision
---
duration_ms: 4698.253976
type: 'test'
...
# Subtest: REQ-LIMIT-3 limits read returns only the token rows; no query or write is accepted
ok 115 - REQ-LIMIT-3 limits read returns only the token rows; no query or write is accepted
---
duration_ms: 92.977208
type: 'test'
...
# Subtest: REQ-LIMIT-3 a limits answer without a token list is refused, not shown as no limits
ok 116 - REQ-LIMIT-3 a limits answer without a token list is refused, not shown as no limits
---
duration_ms: 34.820044
type: 'test'
...
# 2026-10-22T12:12:55.141Z settings user="jason" changed
# Subtest: REQ-LIMIT-3 a Settings reset reaches the human write with its paths; a reset alone is enough
ok 117 - REQ-LIMIT-3 a Settings reset reaches the human write with its paths; a reset alone is enough
---
duration_ms: 15.565824
type: 'test'
...
# Subtest: REQ-LIMIT-3 the Console reader asks the bus limits verb with no arguments
ok 118 - REQ-LIMIT-3 the Console reader asks the bus limits verb with no arguments
---
duration_ms: 0.646467
type: 'test'
...
# Subtest: the preview source names none of the four string-to-markup sinks
ok 119 - the preview source names none of the four string-to-markup sinks
---
duration_ms: 6.142435
type: 'test'
...
# Subtest: headings, paragraphs, emphasis and inline code render
ok 120 - headings, paragraphs, emphasis and inline code render
---
duration_ms: 2.605093
type: 'test'
...
# Subtest: lists, block quotes and code blocks render
ok 121 - lists, block quotes and code blocks render
---
duration_ms: 1.545934
type: 'test'
...
# Subtest: a link is made for http, https and relative targets, with rel and the target shown
ok 122 - a link is made for http, https and relative targets, with rel and the target shown
---
duration_ms: 2.419838
type: 'test'
...
# Subtest: a link with any other scheme, or an evasion of the scheme, stays source text
ok 123 - a link with any other scheme, or an evasion of the scheme, stays source text
---
duration_ms: 1.85995
type: 'test'
...
# Subtest: an image shows alt text and URL, is never an img element and never loads
ok 124 - an image shows alt text and URL, is never an img element and never loads
---
duration_ms: 0.307511
type: 'test'
...
# Subtest: raw HTML, entities and unsupported blocks show as source text, never as elements
ok 125 - raw HTML, entities and unsupported blocks show as source text, never as elements
---
duration_ms: 0.775181
type: 'test'
...
# Subtest: markup inside code and inside link text stays text
ok 126 - markup inside code and inside link text stays text
---
duration_ms: 0.286987
type: 'test'
...
# Subtest: hostile and pathological input stays within its look-ahead budget and under the nesting cap
ok 127 - hostile and pathological input stays within its look-ahead budget and under the nesting cap
---
duration_ms: 134.130908
type: 'test'
...
# Subtest: trailing blanks and closing hashes are cut by a walk from the end, not a regex that retries inside a blank run
ok 128 - trailing blanks and closing hashes are cut by a walk from the end, not a regex that retries inside a blank run
---
duration_ms: 99.862594
type: 'test'
...
# Subtest: a link opener with no closer searches at most SPAN characters ahead
ok 129 - a link opener with no closer searches at most SPAN characters ahead
---
duration_ms: 467.541866
type: 'test'
...
# Subtest: the look-ahead work of one render is a fixed multiple of the text, whatever the opener
ok 130 - the look-ahead work of one render is a fixed multiple of the text, whatever the opener
---
duration_ms: 2239.367096
type: 'test'
...
# Subtest: past the budget an opener is source text, through the path all other text takes
ok 131 - past the budget an opener is source text, through the path all other text takes
---
duration_ms: 33.724397
type: 'test'
...
# Subtest: a normal 200 KiB document renders exactly as it did without a budget, and spends little of it
ok 132 - a normal 200 KiB document renders exactly as it did without a budget, and spends little of it
---
duration_ms: 56.144681
type: 'test'
...
# Subtest: a line separator inside a heading, a list item or a fence line does not end the marker line
ok 133 - a line separator inside a heading, a list item or a fence line does not end the marker line
---
duration_ms: 1.078269
type: 'test'
...
# Subtest: a thematic-break line is a paragraph, every other marker line opens a list
ok 134 - a thematic-break line is a paragraph, every other marker line opens a list
---
duration_ms: 0.784342
type: 'test'
...
# Subtest: every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so
ok 135 - every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so
---
duration_ms: 126.514625
type: 'test'
...
# Subtest: one line of marks does not throw, at 4 MiB, whatever the mark or the spacing
ok 136 - one line of marks does not throw, at 4 MiB, whatever the mark or the spacing
---
duration_ms: 19552.593713
type: 'test'
...
# Subtest: CRLF and tabs are read like LF and spaces; empty input renders nothing
ok 137 - CRLF and tabs are read like LF and spaces; empty input renders nothing
---
duration_ms: 0.533093
type: 'test'
...
# Subtest: messages HTTP read pages and preserves metadata; bad arguments refuse before a read; other reads unchanged
ok 138 - messages HTTP read pages and preserves metadata; bad arguments refuse before a read; other reads unchanged
---
duration_ms: 369.09943
type: 'test'
...
# Subtest: Console Messages lists late unsolicited messages on polling with sender class time read state and trail; nav count includes beyond the page; reads never deliver
ok 139 - Console Messages lists late unsolicited messages on polling with sender class time read state and trail; nav count includes beyond the page; reads never deliver
---
duration_ms: 4039.954642
type: 'test'
...
# Subtest: Messages nav count polls on Tasks and Board and clears on a Board refusal; messages 403 refuses local pages
ok 140 - Messages nav count polls on Tasks and Board and clears on a Board refusal; messages 403 refuses local pages
---
duration_ms: 6052.344312
type: 'test'
...
# Subtest: copy writes the Console paths at the full id, read-only, and leaves an existing copy alone
ok 141 - copy writes the Console paths at the full id, read-only, and leaves an existing copy alone
---
duration_ms: 7570.859768
type: 'test'
...
# Subtest: copy refuses a commit off refactor, an unknown one, a worktree and a bad copies directory
ok 142 - copy refuses a commit off refactor, an unknown one, a worktree and a bad copies directory
---
duration_ms: 5580.439232
type: 'test'
...
# Subtest: copy writes nothing when an archived path is missing at the commit
ok 143 - copy writes nothing when an archived path is missing at the commit
---
duration_ms: 1622.907
type: 'test'
...
# Subtest: a copy that loses the rename race leaves no read-only temp directory behind
ok 144 - a copy that loses the rename race leaves no read-only temp directory behind
---
duration_ms: 2239.664334
type: 'test'
...
# Subtest: a copy whose rename fails with no target refuses, writes no copy and leaves no temp directory
ok 145 - a copy whose rename fails with no target refuses, writes no copy and leaves no temp directory
---
duration_ms: 1974.313868
type: 'test'
...
# Subtest: a copy that meets a target holding files says exists: and moves nothing into it
ok 146 - a copy that meets a target holding files says exists: and moves nothing into it
---
duration_ms: 1991.124987
type: 'test'
...
# Subtest: a copy that meets an empty target directory replaces it by rename, not by moving into it
ok 147 - a copy that meets an empty target directory replaces it by rename, not by moving into it
---
duration_ms: 2063.37006
type: 'test'
...
# Subtest: serve runs from a copy: /healthz 200, the config check, roles and RELEASE from the copy, the queue from --checkout
ok 148 - serve runs from a copy: /healthz 200, the config check, roles and RELEASE from the copy, the queue from --checkout
---
duration_ms: 3631.531042
type: 'test'
...
# Subtest: serve refuses a --checkout that is not an absolute directory path
ok 149 - serve refuses a --checkout that is not an absolute directory path
---
duration_ms: 617.58581
type: 'test'
...
# Subtest: consoleReads runs the queue read under queueRoot and reads RELEASE under root
ok 150 - consoleReads runs the queue read under queueRoot and reads RELEASE under root
---
duration_ms: 116.369696
type: 'test'
...
# Subtest: preview options are all three or none, and each is checked
ok 151 - preview options are all three or none, and each is checked
---
duration_ms: 13.07512
type: 'test'
...
# Subtest: the CLI refuses a partial or invalid preview flag set at start
ok 152 - the CLI refuses a partial or invalid preview flag set at start
---
duration_ms: 2121.004565
type: 'test'
...
# Subtest: the CLI with all three flags serves the preview mode
ok 153 - the CLI with all three flags serves the preview mode
---
duration_ms: 560.110945
type: 'test'
...
# Subtest: a request for the public name needs the header equal to the user id, else 401 and nothing read
ok 154 - a request for the public name needs the header equal to the user id, else 401 and nothing read
---
duration_ms: 88.465352
type: 'test'
...
# Subtest: the header name matches without regard to case, and the value compare is exact
ok 155 - the header name matches without regard to case, and the value compare is exact
---
duration_ms: 7.845106
type: 'test'
...
# Subtest: the public name with the header reads the bus views, and the Host and Origin are checked first
ok 156 - the public name with the header reads the bus views, and the Host and Origin are checked first
---
duration_ms: 130.81793
type: 'test'
...
# Subtest: in preview mode every write answers 403 read-only, from the public name and loopback, and reaches nothing
ok 157 - in preview mode every write answers 403 read-only, from the public name and loopback, and reaches nothing
---
duration_ms: 54.865178
type: 'test'
...
# Subtest: loopback requests are unchanged in preview mode, and the bus views work with the board down
ok 158 - loopback requests are unchanged in preview mode, and the bus views work with the board down
---
duration_ms: 15.616826
type: 'test'
...
# Subtest: a proxy that rewrites Host to the loopback port gets 403 on its first request, whatever the user
ok 159 - a proxy that rewrites Host to the loopback port gets 403 on its first request, whatever the user
---
duration_ms: 37.27873
type: 'test'
...
# Subtest: a repeated Host is 400 before any other check, in preview mode and without it
ok 160 - a repeated Host is 400 before any other check, in preview mode and without it
---
duration_ms: 43.838203
type: 'test'
...
# Subtest: without the preview flags the public name is refused and writes still reach the board
ok 161 - without the preview flags the public name is refused and writes still reach the board
---
duration_ms: 59.701635
type: 'test'
...
# Subtest: processing browser: keyboard Stop, confirmed Resume, unknown outcome and persistent banner
ok 162 - processing browser: keyboard Stop, confirmed Resume, unknown outcome and persistent banner
---
duration_ms: 2870.800392
type: 'test'
...
# Subtest: processing browser: Q175 read-only interim keeps both writes disabled and names CLI recovery at 320px
ok 163 - processing browser: Q175 read-only interim keeps both writes disabled and names CLI recovery at 320px
---
duration_ms: 2772.118212
type: 'test'
...
# Subtest: processing browser: sign-out from config redirect blocks later refresh and writes
ok 164 - processing browser: sign-out from config redirect blocks later refresh and writes
---
duration_ms: 2315.554044
type: 'test'
...
# Subtest: processing browser: sign-out from state redirect blocks later refresh and writes
ok 165 - processing browser: sign-out from state redirect blocks later refresh and writes
---
duration_ms: 2142.126163
type: 'test'
...
# Subtest: processing browser: sign-out from write redirect blocks later refresh and writes
ok 166 - processing browser: sign-out from write redirect blocks later refresh and writes
---
duration_ms: 2367.328928
type: 'test'
...
# Subtest: processing browser: sign-out from config sign-in required blocks later refresh and writes
ok 167 - processing browser: sign-out from config sign-in required blocks later refresh and writes
---
duration_ms: 1872.450277
type: 'test'
...
# Subtest: processing browser: sign-out from state sign-in required blocks later refresh and writes
ok 168 - processing browser: sign-out from state sign-in required blocks later refresh and writes
---
duration_ms: 2000.111437
type: 'test'
...
# Subtest: processing browser: sign-out from write sign-in required blocks later refresh and writes
ok 169 - processing browser: sign-out from write sign-in required blocks later refresh and writes
---
duration_ms: 1899.75212
type: 'test'
...
# ROW191_LAYOUT {"width":400,"height":1000,"controls":97,"tree":324.0625,"main":1450.703125,"top":181.5,"bottom":217.5,"barBottom":129,"projectsTop":352.59375,"order":"0","visible":true}
# ROW191_LAYOUT {"width":1440,"height":1000,"controls":127,"tree":914,"main":914,"top":135.5,"bottom":171.5,"barBottom":53,"projectsTop":636.59375,"order":"0","visible":true}
# ROW191_LAYOUT {"width":1440,"height":420,"controls":127,"tree":334,"main":907.734375,"top":135.5,"bottom":171.5,"barBottom":53,"projectsTop":636.59375,"order":"0","visible":true}
# ROW191_LAYOUT {"width":800,"height":420,"controls":127,"tree":334,"main":1131.65625,"top":135.5,"bottom":171.5,"barBottom":53,"projectsTop":618.59375,"order":"0","visible":true}
# Subtest: processing browser: static nav controls keep Stop visible, ordered and keyboard reachable
ok 170 - processing browser: static nav controls keep Stop visible, ordered and keyboard reachable
---
duration_ms: 1855.502464
type: 'test'
...
# Subtest: interim read-only controls show CLI recovery, disable both writes and retain a halted banner across views
ok 171 - interim read-only controls show CLI recovery, disable both writes and retain a halted banner across views
---
duration_ms: 18.21691
type: 'test'
...
# Subtest: Stop sends one empty halt and Resume confirms before sending the displayed generation
ok 172 - Stop sends one empty halt and Resume confirms before sending the displayed generation
---
duration_ms: 7.856952
type: 'test'
...
# Subtest: a cancelled resume never calls the writer
ok 173 - a cancelled resume never calls the writer
---
duration_ms: 2.553091
type: 'test'
...
# Subtest: unknown writes are not retried or displayed as success and partial stops remain explicit
ok 174 - unknown writes are not retried or displayed as success and partial stops remain explicit
---
duration_ms: 5.220945
type: 'test'
...
# Subtest: the persistent shell loads the control outside route-specific content with accessible status and native buttons
ok 175 - the persistent shell loads the control outside route-specific content with accessible status and native buttons
---
duration_ms: 0.869223
type: 'test'
...
# Subtest: read-only Console can read processing state but neither human control writes without --send
ok 176 - read-only Console can read processing state but neither human control writes without --send
---
duration_ms: 56.797973
type: 'test'
...
# Subtest: Console halt and generation-bound resume use only the management writer and keep partial stops honest
ok 177 - Console halt and generation-bound resume use only the management writer and keep partial stops honest
---
duration_ms: 14.425918
type: 'test'
...
# Subtest: processing write fences refuse cross-site, wrong origin, unnamed host, duplicate identity and bad payload before writer
ok 178 - processing write fences refuse cross-site, wrong origin, unnamed host, duplicate identity and bad payload before writer
---
duration_ms: 18.536499
type: 'test'
...
# Subtest: tester cannot invoke either control writer and failures never echo backend text
ok 179 - tester cannot invoke either control writer and failures never echo backend text
---
duration_ms: 28.304718
type: 'test'
...
# Subtest: processing writes use the existing SSO signer and still require --send and same-origin
ok 180 - processing writes use the existing SSO signer and still require --send and same-origin
---
duration_ms: 20.678391
type: 'test'
...
# Subtest: processing handler independently refuses wrong origin and cross-site before its writer
ok 181 - processing handler independently refuses wrong origin and cross-site before its writer
---
duration_ms: 3.343795
type: 'test'
...
# Subtest: a signed-in same-origin save reaches exactly one human operation and returns the new commit
ok 182 - a signed-in same-origin save reaches exactly one human operation and returns the new commit
---
duration_ms: 43.178623
type: 'test'
...
# Subtest: a save needs send, the named Host, the user, the exact Origin and same-origin Fetch Metadata
ok 183 - a save needs send, the named Host, the user, the exact Origin and same-origin Fetch Metadata
---
duration_ms: 19.950479
type: 'test'
...
# Subtest: a save validates JSON, strict keys, text values and the 1 MiB body before the bus is asked
ok 184 - a save validates JSON, strict keys, text values and the 1 MiB body before the bus is asked
---
duration_ms: 44.015304
type: 'test'
...
# Subtest: a body that is JSON but not an object is refused 400, not thrown on
ok 185 - a body that is JSON but not an object is refused 400, not thrown on
---
duration_ms: 29.844806
type: 'test'
...
# Subtest: the 1 MiB limit is this route only; Settings and messages keep 16 KiB
ok 186 - the 1 MiB limit is this route only; Settings and messages keep 16 KiB
---
duration_ms: 4.599775
type: 'test'
...
# Subtest: a bus refusal is reported as not saved with its own status; stale-base tells the user to reload
ok 187 - a bus refusal is reported as not saved with its own status; stale-base tells the user to reload
---
duration_ms: 14.374589
type: 'test'
...
# Subtest: a save whose answer is lost or unusable is reported unknown and is never retried
ok 188 - a save whose answer is lost or unusable is reported unknown and is never retried
---
duration_ms: 17.434698
type: 'test'
...
# Subtest: the file list and one file read take strict queries and arrive in the expected shape
ok 189 - the file list and one file read take strict queries and arrive in the expected shape
---
duration_ms: 15.937245
type: 'test'
...
# Subtest: reads work without --send; an unusable bus answer is a bad response, a refusal keeps its status
ok 190 - reads work without --send; an unusable bus answer is a bad response, a refusal keeps its status
---
duration_ms: 6.234735
type: 'test'
...
# Subtest: /api/config says edit only where a save can pass
ok 191 - /api/config says edit only where a save can pass
---
duration_ms: 6.046
type: 'test'
...
# Subtest: a repository-name project refusal is an HTTP conflict
ok 192 - a repository-name project refusal is an HTTP conflict
---
duration_ms: 1.408458
type: 'test'
...
# Subtest: proof startup refuses partial flags non-preview and invalid fixture file metadata or bytes
ok 193 - proof startup refuses partial flags non-preview and invalid fixture file metadata or bytes
---
duration_ms: 5445.399072
type: 'test'
...
# Subtest: serve argv carries only fixture proof path and header; startup explicitly reports proof on or off
ok 194 - serve argv carries only fixture proof path and header; startup explicitly reports proof on or off
---
duration_ms: 933.016856
type: 'test'
...
# Subtest: CLI applies proof on the main listener and rejects that header on its tester listener
ok 195 - CLI applies proof on the main listener and rejects that header on its tester listener
---
duration_ms: 1233.402665
type: 'test'
...
# Subtest: proxy proof admits named reads and sends, reads its fixture once, and never exposes the value
ok 196 - proxy proof admits named reads and sends, reads its fixture once, and never exposes the value
---
duration_ms: 159.891712
type: 'test'
...
# Subtest: proxy proof refuses missing wrong short or repeated proof before auth and before any read
ok 197 - proxy proof refuses missing wrong short or repeated proof before auth and before any read
---
duration_ms: 35.227337
type: 'test'
...
# Subtest: proxy proof header is refused on other Hosts and on the tester listener
ok 198 - proxy proof header is refused on other Hosts and on the tester listener
---
duration_ms: 12.304537
type: 'test'
...
# Subtest: proof options reject unsafe or colliding header names without disclosing file contents
ok 199 - proof options reject unsafe or colliding header names without disclosing file contents
---
duration_ms: 2.726268
type: 'test'
...
# Subtest: redactor: config, dataRoot, any absolute path, Discord ids and the JSON parser quote
ok 200 - redactor: config, dataRoot, any absolute path, Discord ids and the JSON parser quote
---
duration_ms: 2.710919
type: 'test'
...
# Subtest: credential state from the date alone, as the bus states it
ok 201 - credential state from the date alone, as the bus states it
---
duration_ms: 0.316394
type: 'test'
...
# Subtest: queue: rows, one row, ids and methods, notes; no path or id from a row
ok 202 - queue: rows, one row, ids and methods, notes; no path or id from a row
---
duration_ms: 2659.413207
type: 'test'
...
# Subtest: queue: a refused read fails closed with the store's text, redacted
ok 203 - queue: a refused read fails closed with the store's text, redacted
---
duration_ms: 1004.846977
type: 'test'
...
# Subtest: queue: a store that fails to load, or a child that dies, gives a fixed message with no path or stack
ok 204 - queue: a store that fails to load, or a child that dies, gives a fixed message with no path or stack
---
duration_ms: 2354.025524
type: 'test'
...
# Subtest: business: names, vars on the allowlist, authority, credential metadata only
ok 205 - business: names, vars on the allowlist, authority, credential metadata only
---
duration_ms: 39.880903
type: 'test'
...
# Subtest: business: missing or invalid file refuses with the module's text, redacted
ok 206 - business: missing or invalid file refuses with the module's text, redacted
---
duration_ms: 50.324654
type: 'test'
...
# Subtest: business without --business: the live bus host, else no-bus-host; no system config: not-configured
ok 207 - business without --business: the live bus host, else no-bus-host; no system config: not-configured
---
duration_ms: 45.381807
type: 'test'
...
# Subtest: settings: release, board, loopback address, notifier binding name only
ok 208 - settings: release, board, loopback address, notifier binding name only
---
duration_ms: 634.691959
type: 'test'
...
# Subtest: task fields: the committed table with no reads configured, GET only; a bad table refuses with no path
ok 209 - task fields: the committed table with no reads configured, GET only; a bad table refuses with no path
---
duration_ms: 82.719103
type: 'test'
...
# Subtest: bus-status: a refused boot shows reason, file and last good load; a live host or an ok boot clears it
ok 210 - bus-status: a refused boot shows reason, file and last good load; a live host or an ok boot clears it
---
duration_ms: 23.943997
type: 'test'
...
# Subtest: both presentations replace old activity with relaunch notice, label retained history, then resume after new activity
ok 211 - both presentations replace old activity with relaunch notice, label retained history, then resume after new activity
---
duration_ms: 3562.885902
type: 'test'
...
# Subtest: reported return flow and relative Age: reply sent from the inspector, then the new answer appears there without manual refresh
ok 212 - reported return flow and relative Age: reply sent from the inspector, then the new answer appears there without manual refresh
---
duration_ms: 23086.800036
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"acme"}
# organization: {"event":"reload-needs-restart","business":"acme"}
# Subtest: row 65 Settings: the routing table lists every instance, saves a harness, model, thinking and fallback to the file, and keeps the draft on each refusal
ok 213 - row 65 Settings: the routing table lists every instance, saves a harness, model, thinking and fallback to the file, and keeps the draft on each refusal
---
duration_ms: 5918.767098
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"acme"}
# Subtest: row 65 Console: the signed-in human saves a route through a real broker; each refusal says nothing changed and leaves the file and the log
ok 214 - row 65 Console: the signed-in human saves a route through a real broker; each refusal says nothing changed and leaves the file and the log
---
duration_ms: 528.075915
type: 'test'
...
# Subtest: row 65 Console: the routes write needs send on, a writer, the public name, the user, the exact Origin and same-origin Fetch Metadata
ok 215 - row 65 Console: the routes write needs send on, a writer, the public name, the user, the exact Origin and same-origin Fetch Metadata
---
duration_ms: 18.488264
type: 'test'
...
# Subtest: row 65 Console: the routes write takes JSON within 16 KiB with a revision and routes only; an actor is refused and routes are never logged
ok 216 - row 65 Console: the routes write takes JSON within 16 KiB with a revision and routes only; an actor is refused and routes are never logged
---
duration_ms: 23.259055
type: 'test'
...
# Subtest: row 65 Console: a bus refusal maps to its status and says nothing changed; a lost or odd answer says the change may have been made
ok 217 - row 65 Console: a bus refusal maps to its status and says nothing changed; a lost or odd answer says the change may have been made
---
duration_ms: 62.390692
type: 'test'
...
# Subtest: row 65 Console: the routes read takes no arguments, needs a bus and refuses an odd answer
ok 218 - row 65 Console: the routes read takes no arguments, needs a bus and refuses an odd answer
---
duration_ms: 14.665487
type: 'test'
...
# Subtest: the send box: held roles, the draft and caret across a refresh, each receipt, one POST per Send, and the trail link; the board Reply on a 4xx and a 5xx
ok 219 - the send box: held roles, the draft and caret across a refresh, each receipt, one POST per Send, and the trail link; the board Reply on a 4xx and a 5xx
---
duration_ms: 6047.268073
type: 'test'
...
# Subtest: a sent receipt lists its replies as the page refreshes, oldest first and capped, and marks none delivered or read
ok 220 - a sent receipt lists its replies as the page refreshes, oldest first and capped, and marks none delivered or read
---
duration_ms: 12911.214432
type: 'test'
...
# Subtest: startServer takes send only as a function and only with the preview mode
ok 221 - startServer takes send only as a function and only with the preview mode
---
duration_ms: 15.672053
type: 'test'
...
# Subtest: the CLI refuses --send without the preview flags, and without a configured bus
ok 222 - the CLI refuses --send without the preview flags, and without a configured bus
---
duration_ms: 1676.84504
type: 'test'
...
# Subtest: the CLI with --send and a configured bus sends through the human transport and logs one line
ok 223 - the CLI with --send and a configured bus sends through the human transport and logs one line
---
duration_ms: 558.310183
type: 'test'
...
# Subtest: without --send the route is read-only like every other write, and config says no send
ok 224 - without --send the route is read-only like every other write, and config says no send
---
duration_ms: 23.572762
type: 'test'
...
# Subtest: with --send every other write is still 403 read-only, and nothing reaches the board or bus
ok 225 - with --send every other write is still 403 read-only, and nothing reaches the board or bus
---
duration_ms: 29.721183
type: 'test'
...
# Subtest: config says send only on the public name with --send on
ok 226 - config says send only on the public name with --send on
---
duration_ms: 10.053104
type: 'test'
...
# Subtest: a send without the signed-in user is 401 and is neither sent nor logged, loopback included
ok 227 - a send without the signed-in user is 401 and is neither sent nor logged, loopback included
---
duration_ms: 17.831772
type: 'test'
...
# Subtest: each request check refuses before anything is sent, and logs the refusal without the body
ok 228 - each request check refuses before anything is sent, and logs the refusal without the body
---
duration_ms: 89.708138
type: 'test'
...
# Subtest: a send passes exactly to, body and in_reply_to, answers the id, and logs it
ok 229 - a send passes exactly to, body and in_reply_to, answers the id, and logs it
---
duration_ms: 21.86517
type: 'test'
...
# Subtest: a crafted role name cannot forge a log line
ok 230 - a crafted role name cannot forge a log line
---
duration_ms: 5.363382
type: 'test'
...
# Subtest: a bus refusal is not sent, with its status; an outcome the bus could not confirm is unknown and never retried
ok 231 - a bus refusal is not sent, with its status; an outcome the bus could not confirm is unknown and never retried
---
duration_ms: 14.568792
type: 'test'
...
# Subtest: through the human transport the request is exactly the business, message.send and the keys
ok 232 - through the human transport the request is exactly the business, message.send and the keys
---
duration_ms: 295.726654
type: 'test'
...
# Subtest: against a real broker: the message is written once as a human send, and its refusals map
ok 233 - against a real broker: the message is written once as a human send, and its refusals map
---
duration_ms: 218.751286
type: 'test'
...
# Subtest: loopback host and board origin fail closed
ok 234 - loopback host and board origin fail closed
---
duration_ms: 11.261484
type: 'test'
...
# Subtest: real board fixture passes through WebUI; assets and isolated seen/reply work
ok 235 - real board fixture passes through WebUI; assets and isolated seen/reply work
---
duration_ms: 315.838012
type: 'test'
...
# Subtest: proxy preserves exact request bytes, status and receipt, rejects forms and malformed JSON, never follows redirect
ok 236 - proxy preserves exact request bytes, status and receipt, rejects forms and malformed JSON, never follows redirect
---
duration_ms: 173.056722
type: 'test'
...
# Subtest: unreachable board reports URL; CLI rejects unsupported options
ok 237 - unreachable board reports URL; CLI rejects unsupported options
---
duration_ms: 1437.697525
type: 'test'
...
# Subtest: tester service render carries the tester port alongside existing flags
ok 238 - tester service render carries the tester port alongside existing flags
---
duration_ms: 421.601361
type: 'test'
...
# Subtest: tester service refuses forwarded 7332 even with another main port
ok 239 - tester service refuses forwarded 7332 even with another main port
---
duration_ms: 250.042516
type: 'test'
...
# Subtest: tester service invalid ports refuse render and install with exit 4 and leave the unit alone
ok 240 - tester service invalid ports refuse render and install with exit 4 and leave the unit alone
---
duration_ms: 3236.952218
type: 'test'
...
# Subtest: tester service counts the digits as written before it strips leading zeros
ok 241 - tester service counts the digits as written before it strips leading zeros
---
duration_ms: 286.19416
type: 'test'
...
# Subtest: tester service install and status show the tester port without changing send reporting
ok 242 - tester service install and status show the tester port without changing send reporting
---
duration_ms: 1309.308662
type: 'test'
...
# Subtest: render prints the unit without the preview flags
ok 243 - render prints the unit without the preview flags
---
duration_ms: 214.534208
type: 'test'
...
# Subtest: render carries every serve flag, the preview set included
ok 244 - render carries every serve flag, the preview set included
---
duration_ms: 202.165622
type: 'test'
...
# Subtest: a partial preview set is refused
ok 245 - a partial preview set is refused
---
duration_ms: 400.119555
type: 'test'
...
# Subtest: a value the unit cannot carry is refused, for every flag
ok 246 - a value the unit cannot carry is refused, for every flag
---
duration_ms: 6882.457406
type: 'test'
...
# Subtest: the rendered unit names none of the human proof agent markers and sets no agent variable
ok 247 - the rendered unit names none of the human proof agent markers and sets no agent variable
---
duration_ms: 495.540953
type: 'test'
...
# Subtest: install into --dir with --no-reload writes the file whole, then reports unchanged
ok 248 - install into --dir with --no-reload writes the file whole, then reports unchanged
---
duration_ms: 866.899637
type: 'test'
...
# Subtest: install without --no-reload runs daemon-reload and nothing that starts the unit
ok 249 - install without --no-reload runs daemon-reload and nothing that starts the unit
---
duration_ms: 124.195518
type: 'test'
...
# Subtest: uninstall refuses while the unit is running, with or without --no-reload, and removes it once it is not
ok 250 - uninstall refuses while the unit is running, with or without --no-reload, and removes it once it is not
---
duration_ms: 1232.621733
type: 'test'
...
# Subtest: status prints the unit state and GET /healthz on the installed port
ok 251 - status prints the unit state and GET /healthz on the installed port
---
duration_ms: 677.159137
type: 'test'
...
# Subtest: usage: an unknown verb or flag, and start or enable, exit 4
ok 252 - usage: an unknown verb or flag, and start or enable, exit 4
---
duration_ms: 1478.040057
type: 'test'
...
# Subtest: without --send, render is the template with its placeholders filled, byte for byte
ok 253 - without --send, render is the template with its placeholders filled, byte for byte
---
duration_ms: 373.924369
type: 'test'
...
# Subtest: render --send with the preview set ends ExecStart with --send and changes nothing else
ok 254 - render --send with the preview set ends ExecStart with --send and changes nothing else
---
duration_ms: 591.537233
type: 'test'
...
# Subtest: --send without the whole preview set is refused and writes nothing
ok 255 - --send without the whole preview set is refused and writes nothing
---
duration_ms: 917.474998
type: 'test'
...
# Subtest: install --send into --dir with --no-reload writes the sending unit, and status says whether it sends
ok 256 - install --send into --dir with --no-reload writes the sending unit, and status says whether it sends
---
duration_ms: 465.069827
type: 'test'
...
# Subtest: uninstall and status take no --send
ok 257 - uninstall and status take no --send
---
duration_ms: 136.323104
type: 'test'
...
# Subtest: install refuses while the unit is running, in any state but inactive or failed, and changes nothing
ok 258 - install refuses while the unit is running, in any state but inactive or failed, and changes nothing
---
duration_ms: 551.434822
type: 'test'
...
# Subtest: when the state read fails, install and uninstall refuse with one line and change nothing
ok 259 - when the state read fails, install and uninstall refuse with one line and change nothing
---
duration_ms: 185.942103
type: 'test'
...
# Subtest: install needs --copy naming a copy that exists, and refuses outside the canonical checkout without --allow-worktree
ok 260 - install needs --copy naming a copy that exists, and refuses outside the canonical checkout without --allow-worktree
---
duration_ms: 286.532904
type: 'test'
...
# Subtest: install refuses unless the bus unit runs from the same copy, naming both paths, and changes nothing
ok 261 - install refuses unless the bus unit runs from the same copy, naming both paths, and changes nothing
---
duration_ms: 620.070947
type: 'test'
...
# Subtest: render --copy runs the copy and reads the queue in the checkout; without --copy the unit is unchanged
ok 262 - render --copy runs the copy and reads the queue in the checkout; without --copy the unit is unchanged
---
duration_ms: 91.398115
type: 'test'
...
# Subtest: the uid header takes only an Authentik uid; the username header still takes a username
ok 263 - the uid header takes only an Authentik uid; the username header still takes a username
---
duration_ms: 1636.697834
type: 'test'
...
# Subtest: a preview value cannot start with - or .
ok 264 - a preview value cannot start with - or .
---
duration_ms: 180.318736
type: 'test'
...
# Subtest: status names the copy and whether refactor has moved past it, and says when the unit runs from no copy
ok 265 - status names the copy and whether refactor has moved past it, and says when the unit runs from no copy
---
duration_ms: 499.732897
type: 'test'
...
# Subtest: proxy proof render carries both flags but never opens the fixture file
ok 266 - proxy proof render carries both flags but never opens the fixture file
---
duration_ms: 36.002477
type: 'test'
...
# Subtest: proxy proof render refuses incomplete non-preview missing unsafe-mode and repo/copy paths
ok 267 - proxy proof render refuses incomplete non-preview missing unsafe-mode and repo/copy paths
---
duration_ms: 374.091643
type: 'test'
...
# Subtest: proxy proof status retains send and tester reporting with both proof flags
ok 268 - proxy proof status retains send and tester reporting with both proof flags
---
duration_ms: 132.637361
type: 'test'
...
# Subtest: row196 socket flag renders only for supporting targets and refuses mixed transports
ok 269 - row196 socket flag renders only for supporting targets and refuses mixed transports
---
duration_ms: 90.571032
type: 'test'
...
# Subtest: Settings form shows every scope and held role; gated save, exact payload, retained draft and no automatic retry
ok 270 - Settings form shows every scope and held role; gated save, exact payload, retained draft and no automatic retry
---
duration_ms: 3587.225228
type: 'test'
...
# Subtest: Q169 Assistant section: gated, changed fields only, name and stop posts, retained draft and no automatic retry
ok 271 - Q169 Assistant section: gated, changed fields only, name and stop posts, retained draft and no automatic retry
---
duration_ms: 3602.070828
type: 'test'
...
# Subtest: Row 167 a refused names read gives the refused usage page; another names failure keeps the Assistant section
ok 272 - Row 167 a refused names read gives the refused usage page; another names failure keeps the Assistant section
---
duration_ms: 2202.139783
type: 'test'
...
# Subtest: Row 167 with a limits draft open, an assistant save gives the limits submit its revision and the typed limit stays
ok 273 - Row 167 with a limits draft open, an assistant save gives the limits submit its revision and the typed limit stays
---
duration_ms: 1984.790371
type: 'test'
...
# Subtest: Row 167 with an assistant draft open, a launch save gives the assistant submit its revision, and reload reads the current one
ok 274 - Row 167 with an assistant draft open, a launch save gives the assistant submit its revision, and reload reads the current one
---
duration_ms: 2839.510783
type: 'test'
...
# 2026-10-22T12:13:08.994Z settings user="jason" changed
# Subtest: REQ-WEB-1 signed-in same-origin Settings write reaches exactly one human operation
ok 275 - REQ-WEB-1 signed-in same-origin Settings write reaches exactly one human operation
---
duration_ms: 62.475653
type: 'test'
...
# Subtest: REQ-WEB-1 Settings writes require enabled send, named Host, identity, exact Origin and same-origin Fetch Metadata
ok 276 - REQ-WEB-1 Settings writes require enabled send, named Host, identity, exact Origin and same-origin Fetch Metadata
---
duration_ms: 29.385378
type: 'test'
...
# Subtest: REQ-WEB-1 Settings validates JSON, size, revision and strict writable keys before broker call
ok 277 - REQ-WEB-1 Settings validates JSON, size, revision and strict writable keys before broker call
---
duration_ms: 17.597351
type: 'test'
...
# Subtest: Q169 a Console change of the assistant reaches the human operation unchanged, and the log names the signed-in user
ok 278 - Q169 a Console change of the assistant reaches the human operation unchanged, and the log names the signed-in user
---
duration_ms: 16.05559
type: 'test'
...
# Subtest: tokens.css and icons.svg are byte copies of docs/design
ok 279 - tokens.css and icons.svg are byte copies of docs/design
---
duration_ms: 12.926862
type: 'test'
...
# Subtest: JetBrains Mono files match the digests in their sources file, with the OFL text
ok 280 - JetBrains Mono files match the digests in their sources file, with the OFL text
---
duration_ms: 19.578059
type: 'test'
...
# Subtest: shipped strings are unchanged, and the web keeps its write boundary
ok 281 - shipped strings are unchanged, and the web keeps its write boundary
---
duration_ms: 12.687965
type: 'test'
...
# ROW191_LAYOUT {"width":1440,"height":1000,"controls":212.5,"tree":914,"main":914}
# Subtest: shell in a browser: System default, seeded states, 400px, focus and the Ctrl+K palette
ok 282 - shell in a browser: System default, seeded states, 400px, focus and the Ctrl+K palette
---
duration_ms: 9261.611881
type: 'test'
...
# Subtest: five states on Board, Inbox, Tasks, Agents and Trail
not ok 283 - five states on Board, Inbox, Tasks, Agents and Trail
---
duration_ms: 3463.413709
type: 'test'
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/webui/tests/shell.test.mjs:415:1'
failureType: 'testCodeFailure'
error: |-
#/agents
1 !== 0
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: 0
actual: 1
operator: 'strictEqual'
stack: |-
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/webui/tests/shell.test.mjs:463:14)
process.processTicksAndRejections (node:internal/process/task_queues:104:5)
async Test.run (node:internal/test_runner/test:1409:7)
async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
...
# Subtest: a 401 sign-in required on each fetch path signs the page out with a sign-in link and stops the refresh; another 401 stays an error
ok 284 - a 401 sign-in required on each fetch path signs the page out with a sign-in link and stops the refresh; another 401 stays an error
---
duration_ms: 8724.392941
type: 'test'
...
# Subtest: the Sign out form shows only when /api/config says sso, and posts to /auth/logout
ok 285 - the Sign out form shows only when /api/config says sso, and posts to /auth/logout
---
duration_ms: 3010.375598
type: 'test'
...
# Subtest: positive: an RS256 provider signs in and sends one message, and the session reads
ok 286 - positive: an RS256 provider signs in and sends one message, and the session reads
---
duration_ms: 357.531098
type: 'test'
...
# Subtest: positive: an ES256 provider signs in and sends
ok 287 - positive: an ES256 provider signs in and sends
---
duration_ms: 68.509687
type: 'test'
...
# Subtest: positive: two providers each sign in their own subjects, and one provider's subject is unknown to the other
ok 288 - positive: two providers each sign in their own subjects, and one provider's subject is unknown to the other
---
duration_ms: 132.61592
type: 'test'
...
# Subtest: 1: a forged x-authentik header without a cookie is 401 on the API and a sign-in redirect on a page
ok 289 - 1: a forged x-authentik header without a cookie is 401 on the API and a sign-in redirect on a page
---
duration_ms: 130.243774
type: 'test'
...
# Subtest: 2: an HS256 ID token keyed with the client secret and a real RSA kid is refused
ok 290 - 2: an HS256 ID token keyed with the client secret and a real RSA kid is refused
---
duration_ms: 197.851566
type: 'test'
...
# Subtest: 3: a wrong aud, and an aud list holding another client with no azp, are refused
ok 291 - 3: a wrong aud, and an aud list holding another client with no azp, are refused
---
duration_ms: 108.512392
type: 'test'
...
# Subtest: 4: a token that expired 10 minutes ago is refused
ok 292 - 4: a token that expired 10 minutes ago is refused
---
duration_ms: 172.340998
type: 'test'
...
# Subtest: 5: another issuer, and the issuer without its trailing slash, are refused
ok 293 - 5: another issuer, and the issuer without its trailing slash, are refused
---
duration_ms: 67.966973
type: 'test'
...
# Subtest: 6: a nonce mismatch and a missing nonce are refused
ok 294 - 6: a nonce mismatch and a missing nonce are refused
---
duration_ms: 98.105517
type: 'test'
...
# Subtest: 7: state mismatch, no login cookie, a replay, an expired record and two login cookies are refused
ok 295 - 7: state mismatch, no login cookie, a replay, an expired record and two login cookies are refused
---
duration_ms: 97.772171
type: 'test'
...
# Subtest: 8: the token request carries the PKCE verifier, and the OP refuses a wrong one
ok 296 - 8: the token request carries the PKCE verifier, and the OP refuses a wrong one
---
duration_ms: 79.246591
type: 'test'
...
# Subtest: 9: alg none, a changed payload under a real kid, and an unknown kid even after the refetch are refused
ok 297 - 9: alg none, a changed payload under a real kid, and an unknown kid even after the refetch are refused
---
duration_ms: 173.073924
type: 'test'
...
# Subtest: 10: a valid token for a subject not configured is 403 with one subject-unknown line
ok 298 - 10: a valid token for a subject not configured is 403 with one subject-unknown line
---
duration_ms: 103.398791
type: 'test'
...
# Subtest: 11: start refusals: HS or none algs, reserved names, HS-only discovery, an empty JWKS, no S256, an issuer mismatch, a short RSA key
ok 299 - 11: start refusals: HS or none algs, reserved names, HS-only discovery, an empty JWKS, no S256, an issuer mismatch, a short RSA key
---
duration_ms: 723.167589
type: 'test'
...
# Subtest: 11: slot files: a symlink, mode 0644, mode 0640 and a file under the repository are refused, and no message holds the value
ok 300 - 11: slot files: a symlink, mode 0644, mode 0640 and a file under the repository are refused, and no message holds the value
---
duration_ms: 26.43684
type: 'test'
...
# Subtest: 11: the CLI refuses --sso with the old flags and without console.sso, and starts with a good one
ok 301 - 11: the CLI refuses --sso with the old flags and without console.sso, and starts with a good one
---
duration_ms: 2719.240949
type: 'test'
...
# Subtest: 12: under --sso the tester listener refuses each kind of sign-in, has no /auth, and startServer refuses tester with sso
ok 302 - 12: under --sso the tester listener refuses each kind of sign-in, has no /auth, and startServer refuses tester with sso
---
duration_ms: 182.204247
type: 'test'
...
# Subtest: 13: idle and absolute expiry, logout then reuse, a cross-origin logout, and background reads that don't keep a session
ok 303 - 13: idle and absolute expiry, logout then reuse, a cross-origin logout, and background reads that don't keep a session
---
duration_ms: 122.364633
type: 'test'
...
# Subtest: 13: the CSP lets the Sign out form reach the provider's end-session origin, and only under --sso
ok 304 - 13: the CSP lets the Sign out form reach the provider's end-session origin, and only under --sso
---
duration_ms: 156.248281
type: 'test'
...
# Subtest: 14: open redirects land on /, and a path on the Console lands there
ok 305 - 14: open redirects land on /, and a path on the Console lands there
---
duration_ms: 338.690777
type: 'test'
...
# Subtest: 15: a callback for A carrying B's code and iss, and a provider= query, is refused
ok 306 - 15: a callback for A carrying B's code and iss, and a provider= query, is refused
---
duration_ms: 245.605615
type: 'test'
...
# Subtest: 16: a provider with RS256 and ES256 takes either, and refuses PS256 with a usable PS256 key in the JWKS
ok 307 - 16: a provider with RS256 and ES256 takes either, and refuses PS256 with a usable PS256 key in the JWKS
---
duration_ms: 161.887971
type: 'test'
...
# Subtest: 17: 33 started logins leave 32 records, and the first one's callback finds none
ok 308 - 17: 33 started logins leave 32 records, and the first one's callback finds none
---
duration_ms: 253.734135
type: 'test'
...
# Subtest: 18: after a key rotation a sign-in works through one refetch, and the removed kid is refused
ok 309 - 18: after a key rotation a sign-in works through one refetch, and the removed kid is refused
---
duration_ms: 178.743374
type: 'test'
...
# Subtest: 20 and 21: the store holds no raw session id, and the cookie strings are exact
ok 310 - 20 and 21: the store holds no raw session id, and the cookie strings are exact
---
duration_ms: 127.46901
type: 'test'
...
# Subtest: 22: a loopback Host is 403 on a page, a read and a write; /healthz on loopback is 200; a redirect_uri never comes from the Host
ok 311 - 22: a loopback Host is 403 on a page, a read and a write; /healthz on loopback is 200; a redirect_uri never comes from the Host
---
duration_ms: 318.133792
type: 'test'
...
# Subtest: 23: a provider down at start leaves the Console up and 503, and the retry makes sign-in work
ok 312 - 23: a provider down at start leaves the Console up and 503, and the retry makes sign-in work
---
duration_ms: 342.148776
type: 'test'
...
# Subtest: 19: no captured log line holds a token, code, state, nonce, verifier, client secret or session id
ok 313 - 19: no captured log line holds a token, code, state, nonce, verifier, client secret or session id
---
duration_ms: 9.897503
type: 'test'
...
# Subtest: tester Console banner exposes only instance route and name editors and saves a route as tester
ok 314 - tester Console banner exposes only instance route and name editors and saves a route as tester
---
duration_ms: 2813.628774
type: 'test'
...
# Subtest: row 177: the tester Console chat composer is enabled and a send shows in its own thread
ok 315 - row 177: the tester Console chat composer is enabled and a send shows in its own thread
---
duration_ms: 1935.049174
type: 'test'
...
# Subtest: tester-port validates range tunnel main port and requires configured bus before listening
ok 316 - tester-port validates range tunnel main port and requires configured bus before listening
---
duration_ms: 2605.271045
type: 'test'
...
# Subtest: CLI tester listener binds a private Unix socket and spawns TESTER_CLI for every Console bus read
ok 317 - CLI tester listener binds a private Unix socket and spawns TESTER_CLI for every Console bus read
---
duration_ms: 8135.79018
type: 'test'
...
# Subtest: main listener refuses x-mosaic-tester before any board or bus read for every Host
ok 318 - main listener refuses x-mosaic-tester before any board or bus read for every Host
---
duration_ms: 64.856588
type: 'test'
...
# Subtest: tester listener rejects preview binding and requires its fixed logical Host and no proxy auth header
ok 319 - tester listener rejects preview binding and requires its fixed logical Host and no proxy auth header
---
duration_ms: 471.086117
type: 'test'
...
# Subtest: tester listener writes only instances routes and names with tester receipts and actor
ok 320 - tester listener writes only instances routes and names with tester receipts and actor
---
duration_ms: 479.266657
type: 'test'
...
# Subtest: tester listener refuses every human-only write with no bus call
ok 321 - tester listener refuses every human-only write with no bus call
---
duration_ms: 346.897333
type: 'test'
...
# Subtest: tester-off and tester-required reads return HTTP 403
ok 322 - tester-off and tester-required reads return HTTP 403
---
duration_ms: 389.093387
type: 'test'
...
# Subtest: tester credentials routes and committed project reads keep secrets and paths bounded
ok 323 - tester credentials routes and committed project reads keep secrets and paths bounded
---
duration_ms: 1110.273275
type: 'test'
...
# Subtest: row 177 W1: the tester chat makes, sends to, opens and reads its own thread as tester
ok 324 - row 177 W1: the tester chat makes, sends to, opens and reads its own thread as tester
---
duration_ms: 135.617947
type: 'test'
...
# Subtest: row 177 W2: tester chat writes refuse a missing or foreign Origin, cross-site, text/plain and the proxy header with no bus call
ok 325 - row 177 W2: tester chat writes refuse a missing or foreign Origin, cross-site, text/plain and the proxy header with no bus call
---
duration_ms: 56.807085
type: 'test'
...
# Subtest: row 177 W3: the human thread through the tester chat is thread-not-owned, and bus.tester off answers tester-off
ok 326 - row 177 W3: the human thread through the tester chat is thread-not-owned, and bus.tester off answers tester-off
---
duration_ms: 170.501181
type: 'test'
...
# Subtest: row 177 W4: the main listener refuses x-mosaic-tester on chat reads and writes before the chat
ok 327 - row 177 W4: the main listener refuses x-mosaic-tester on chat reads and writes before the chat
---
duration_ms: 19.032996
type: 'test'
...
# Subtest: private tester HTTP serves on 0600 socket in 0700 parent and fixed origin
ok 328 - private tester HTTP serves on 0600 socket in 0700 parent and fixed origin
---
duration_ms: 214.495469
type: 'test'
...
# Subtest: private tester refuses symlink, unsafe parent and long path without repairs
ok 329 - private tester refuses symlink, unsafe parent and long path without repairs
---
duration_ms: 14.020293
type: 'test'
...
# Subtest: tester cleanup must leave a replacement inode untouched
ok 330 - tester cleanup must leave a replacement inode untouched
---
duration_ms: 5.301889
type: 'test'
...
# Subtest: row278 browser lists held claims and release preserves role rows and totals
ok 331 - row278 browser lists held claims and release preserves role rows and totals
---
duration_ms: 2248.921889
type: 'test'
...
# Subtest: row278 browser claims 403 stays local and role section remains byte-equal
ok 332 - row278 browser claims 403 stays local and role section remains byte-equal
---
duration_ms: 1951.253752
type: 'test'
...
# Subtest: row278 browser renders only four escaped claim fields and never instance or other extras
ok 333 - row278 browser renders only four escaped claim fields and never instance or other extras
---
duration_ms: 1139.967906
type: 'test'
...
# Subtest: row278 browser sign-out removes claims and prevents reuse of cached answers
ok 334 - row278 browser sign-out removes claims and prevents reuse of cached answers
---
duration_ms: 1199.948351
type: 'test'
...
# Subtest: row278 tester browser keeps role rows without requesting the owner claims section
ok 335 - row278 tester browser keeps role rows without requesting the owner claims section
---
duration_ms: 1122.404496
type: 'test'
...
# Subtest: row278 browser discards a late claims answer after sign-out
ok 336 - row278 browser discards a late claims answer after sign-out
---
duration_ms: 1086.011875
type: 'test'
...
# Subtest: row278 HTTP read returns held claims without send and refuses arguments before the bus
ok 337 - row278 HTTP read returns held claims without send and refuses arguments before the bus
---
duration_ms: 83.892941
type: 'test'
...
# Subtest: row278 HTTP read preserves bus refusal and rejects a malformed result
ok 338 - row278 HTTP read preserves bus refusal and rejects a malformed result
---
duration_ms: 29.086869
type: 'test'
...
# Subtest: row278 tester socket refuses thread claims explicitly with zero bus calls
ok 339 - row278 tester socket refuses thread claims explicitly with zero bus calls
---
duration_ms: 12.790713
type: 'test'
...
# Subtest: row278 Console adapter calls argument-free thread.claims through the normal transport
ok 340 - row278 Console adapter calls argument-free thread.claims through the normal transport
---
duration_ms: 424.650027
type: 'test'
...
# Subtest: REQ-LIMIT-4 Settings shows all token kinds and unknown turns beside every total, as a read-only separate section
ok 341 - REQ-LIMIT-4 Settings shows all token kinds and unknown turns beside every total, as a read-only separate section
---
duration_ms: 2433.402502
type: 'test'
...
# Subtest: REQ-WEB-1 usage read keeps unknown counts and each token kind; no query or write is accepted
ok 342 - REQ-WEB-1 usage read keeps unknown counts and each token kind; no query or write is accepted
---
duration_ms: 261.575481
type: 'test'
...
# Subtest: REQ-WEB-1 malformed usage is refused instead of shown as zero
ok 343 - REQ-WEB-1 malformed usage is refused instead of shown as zero
---
duration_ms: 52.459418
type: 'test'
...
# Subtest: Queue, Business and Settings in their five states, with no move button
ok 344 - Queue, Business and Settings in their five states, with no move button
---
duration_ms: 5341.84181
type: 'test'
...
# Subtest: seeded secrets, Discord ids and paths reach no response and no page; business refusals in the module's words
ok 345 - seeded secrets, Discord ids and paths reach no response and no page; business refusals in the module's words
---
duration_ms: 1753.095602
type: 'test'
...
# Subtest: the server log names no config path when the system config refuses
ok 346 - the server log names no config path when the system config refuses
---
duration_ms: 314.600832
type: 'test'
...
1..346
# tests 346
# suites 0
# pass 344
# fail 1
# cancelled 0
# skipped 1
# todo 0
# duration_ms 55232.854551
Traceback (most recent call last):
File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-278/window.py", line 83, in <module>
main()
File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-278/window.py", line 75, in main
step('webui', ['node', '--test', '--test-reporter=tap', 'packages/webui/tests/'])
File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-278/window.py", line 50, in step
raise RuntimeError('unexpected failure: stop and report')
RuntimeError: unexpected failure: stop and report