Files

6089 lines
253 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
TAP version 13
# Subtest: R4: the timer sweep after a hand edit ends only the lost user's run; its next call refuses thread-revoked
ok 1 - R4: the timer sweep after a hand edit ends only the lost user's run; its next call refuses thread-revoked
---
duration_ms: 32.925075
type: 'test'
...
# Subtest: R4: an expiry with no write and no request ends the run at the next timer sweep
ok 2 - R4: an expiry with no write and no request ends the run at the next timer sweep
---
duration_ms: 24.211594
type: 'test'
...
# Subtest: R4: a downgrade to viewer is a loss
ok 3 - R4: a downgrade to viewer is a loss
---
duration_ms: 22.290856
type: 'test'
...
# Subtest: R4: another user's request after a hand edit ends the lost user's run, and its own run stays
ok 4 - R4: another user's request after a hand edit ends the lost user's run, and its own run stays
---
duration_ms: 24.426887
type: 'test'
...
# Subtest: R4: a request reads the access file only when its stamp changed, once per change
ok 5 - R4: a request reads the access file only when its stamp changed, once per change
---
duration_ms: 21.371476
type: 'test'
...
# Subtest: R4: access.reload ends the lost runs at once for the human; the tester, a reader, an agent and a user are refused
ok 6 - R4: access.reload ends the lost runs at once for the human; the tester, a reader, an agent and a user are refused
---
duration_ms: 26.000921
type: 'test'
...
# Subtest: R4: threadsState marks revoked: true on the lost user's thread only, a pending message included
ok 7 - R4: threadsState marks revoked: true on the lost user's thread only, a pending message included
---
duration_ms: 17.362727
type: 'test'
...
# Subtest: R4: threadsState after an expiry with no write and no sweep ends the claim before it marks the row revoked
ok 8 - R4: threadsState after an expiry with no write and no sweep ends the claim before it marks the row revoked
---
duration_ms: 22.89471
type: 'test'
...
# Subtest: R4: a new run of a revoked thread refuses thread-revoked at bind and at claim; a rebind is allowed
ok 9 - R4: a new run of a revoked thread refuses thread-revoked at bind and at claim; a rebind is allowed
---
duration_ms: 19.574612
type: 'test'
...
# Subtest: R4 runtime: a hand edit ends the run at the first timer period, intervalMs is checked, and close stops the timer
ok 10 - R4 runtime: a hand edit ends the run at the first timer period, intervalMs is checked, and close stops the timer
---
duration_ms: 52.965856
type: 'test'
...
# 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 11 - 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: 85.878109
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 12 - 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: 107.455209
type: 'test'
...
# Subtest: REQ-LIMIT-4 the 3h engine refuses a migrated store, migrating or not, and leaves it as it was
ok 13 - REQ-LIMIT-4 the 3h engine refuses a migrated store, migrating or not, and leaves it as it was
---
duration_ms: 87.737408
type: 'test'
...
# Subtest: parseAddress: one
ok 14 - parseAddress: one
---
duration_ms: 1.166351
type: 'test'
...
# Subtest: parseAddress: many
ok 15 - parseAddress: many
---
duration_ms: 0.11521
type: 'test'
...
# Subtest: parseAddress: repeat
ok 16 - parseAddress: repeat
---
duration_ms: 0.094787
type: 'test'
...
# Subtest: parseAddress: plain
ok 17 - parseAddress: plain
---
duration_ms: 0.087336
type: 'test'
...
# Subtest: parseAddress: stop
ok 18 - parseAddress: stop
---
duration_ms: 0.09396
type: 'test'
...
# Subtest: parseAddress: EOF tag
ok 19 - parseAddress: EOF tag
---
duration_ms: 0.087217
type: 'test'
...
# Subtest: parseAddress: EOF last tag
ok 20 - parseAddress: EOF last tag
---
duration_ms: 0.085734
type: 'test'
...
# Subtest: parseAddress: leading whitespace
ok 21 - parseAddress: leading whitespace
---
duration_ms: 0.076031
type: 'test'
...
# Subtest: parseAddress: tags only
ok 22 - parseAddress: tags only
---
duration_ms: 0.098139
type: 'test'
...
# Subtest: parseAddress: empty
ok 23 - parseAddress: empty
---
duration_ms: 0.182573
type: 'test'
...
# Subtest: parseAddress: whitespace
ok 24 - parseAddress: whitespace
---
duration_ms: 0.083703
type: 'test'
...
# Subtest: parseAddress: bare at
ok 25 - parseAddress: bare at
---
duration_ms: 0.062182
type: 'test'
...
# Subtest: parseAddress: punctuation is a name
ok 26 - parseAddress: punctuation is a name
---
duration_ms: 0.047429
type: 'test'
...
# Subtest: parseAddress rejects non-text without coercion
ok 27 - parseAddress rejects non-text without coercion
---
duration_ms: 0.295263
type: 'test'
...
# Subtest: the mounted address parser has no import dependency
ok 28 - the mounted address parser has no import dependency
---
duration_ms: 0.228106
type: 'test'
...
# Subtest: agents: a held role with nothing on the bus is idle; a role session gets the claim rows unchanged
ok 29 - agents: a held role with nothing on the bus is idle; a role session gets the claim rows unchanged
---
duration_ms: 31.976348
type: 'test'
...
# Subtest: agents: working counts what the holder received and has not read; routed alone is not working
ok 30 - agents: working counts what the holder received and has not read; routed alone is not working
---
duration_ms: 21.380946
type: 'test'
...
# Subtest: agents: input needed is the role's open decisions routed to the human, gated first, then oldest
ok 31 - agents: input needed is the role's open decisions routed to the human, gated first, then oldest
---
duration_ms: 34.825295
type: 'test'
...
# Subtest: agents: working wins over waiting, and Input needed still shows
ok 32 - agents: working wins over waiting, and Input needed still shows
---
duration_ms: 17.078861
type: 'test'
...
# Subtest: agents: a new holder doesn't inherit what the last one left unread; decisions stay with the role
ok 33 - agents: a new holder doesn't inherit what the last one left unread; decisions stay with the role
---
duration_ms: 17.888872
type: 'test'
...
# Subtest: agents: state reads only its own business, even for a run name both use
ok 34 - agents: state reads only its own business, even for a run name both use
---
duration_ms: 16.691526
type: 'test'
...
# Subtest: agents: a message the holder released unread is stranded; the next holder gets nothing and cannot read it
ok 35 - agents: a message the holder released unread is stranded; the next holder gets nothing and cannot read it
---
duration_ms: 19.654642
type: 'test'
...
# Subtest: agents: a message the holder read is not stranded; one the current holder has not read is not listed
ok 36 - agents: a message the holder read is not stranded; one the current holder has not read is not listed
---
duration_ms: 18.096326
type: 'test'
...
# Subtest: agents: stranded is oldest first and capped at 50 for a role
ok 37 - agents: stranded is oldest first and capped at 50 for a role
---
duration_ms: 78.939463
type: 'test'
...
# Subtest: agents: stranded is per role and per business
ok 38 - agents: stranded is per role and per business
---
duration_ms: 31.207314
type: 'test'
...
# Subtest: agents: a message routed to a held role and not yet received is not stranded
ok 39 - agents: a message routed to a held role and not yet received is not stranded
---
duration_ms: 12.676817
type: 'test'
...
# Subtest: REQ-DEC an approval outlives its run and a broker restart; a new run of the instance consumes it once
ok 40 - REQ-DEC an approval outlives its run and a broker restart; a new run of the instance consumes it once
---
duration_ms: 34.171947
type: 'test'
...
# Subtest: REQ-DEC another instance of the same definition cannot consume an approval, and its refusal consumes nothing
ok 41 - REQ-DEC another instance of the same definition cannot consume an approval, and its refusal consumes nothing
---
duration_ms: 20.738776
type: 'test'
...
# Subtest: REQ-DEC REQ-THREAD-1 a thread approval is consumed only by a run holding the same thread
ok 42 - REQ-DEC REQ-THREAD-1 a thread approval is consumed only by a run holding the same thread
---
duration_ms: 24.418512
type: 'test'
...
# Subtest: REQ-DEC a later run of the same instance supersedes an open decision; another instance cannot
ok 43 - REQ-DEC a later run of the same instance supersedes an open decision; another instance cannot
---
duration_ms: 21.593743
type: 'test'
...
# Subtest: REQ-DEC REQ-THREAD-1 a thread decision is superseded only from the same thread
ok 44 - REQ-DEC REQ-THREAD-1 a thread decision is superseded only from the same thread
---
duration_ms: 22.524725
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 45 - REQ-DEC REQ-THREAD-1 a thread instance decision raised before row 121 is not consumed or superseded by any thread run
---
duration_ms: 29.641213
type: 'test'
...
# Subtest: launch identity is stamped, payload identity is refused and stale holder cannot send
ok 46 - launch identity is stamped, payload identity is refused and stale holder cannot send
---
duration_ms: 22.887411
type: 'test'
...
# Subtest: decision classes route from policy; gated resolution is human-only, choice and target must match
ok 47 - decision classes route from policy; gated resolution is human-only, choice and target must match
---
duration_ms: 22.491737
type: 'test'
...
# Subtest: claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic
ok 48 - claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic
---
duration_ms: 25.49036
type: 'test'
...
# Subtest: launch events require a human CLI capability; generic emit cannot forge authority events
ok 49 - launch events require a human CLI capability; generic emit cannot forge authority events
---
duration_ms: 15.439423
type: 'test'
...
# Subtest: within-role decisions close atomically and invalid options or blocking omissions refuse
ok 50 - within-role decisions close atomically and invalid options or blocking omissions refuse
---
duration_ms: 16.021073
type: 'test'
...
# Subtest: a recommendation that is not exactly one option key refuses invalid-recommendation after the options
ok 51 - a recommendation that is not exactly one option key refuses invalid-recommendation after the options
---
duration_ms: 23.924179
type: 'test'
...
# Subtest: observer capabilities read human inbox but cannot mutate or forge launch identity
ok 52 - observer capabilities read human inbox but cannot mutate or forge launch identity
---
duration_ms: 16.003241
type: 'test'
...
# Subtest: task action subjects and linked decision trail are complete and ordered
ok 53 - task action subjects and linked decision trail are complete and ordered
---
duration_ms: 22.896834
type: 'test'
...
# Subtest: launch binding is durable and reconnecting requires the identical trusted record
ok 54 - launch binding is durable and reconnecting requires the identical trusted record
---
duration_ms: 12.212354
type: 'test'
...
# Subtest: business isolation includes inherited object names and cross-business message references
ok 55 - business isolation includes inherited object names and cross-business message references
---
duration_ms: 18.837054
type: 'test'
...
# Subtest: authority never transfers between action, target, unresolved or replaced role holder; a later run of the instance keeps it
ok 56 - authority never transfers between action, target, unresolved or replaced role holder; a later run of the instance keeps it
---
duration_ms: 24.967449
type: 'test'
...
# Subtest: task projection uses schema current view, skipping earlier and equal-start polls
ok 57 - task projection uses schema current view, skipping earlier and equal-start polls
---
duration_ms: 14.029375
type: 'test'
...
# Subtest: revocation permanently bars the old run from reclaiming first, including after broker restart
ok 58 - revocation permanently bars the old run from reclaiming first, including after broker restart
---
duration_ms: 20.188915
type: 'test'
...
# Subtest: empty message references refuse before storage; refusal-evidence failure stays a typed error
ok 59 - empty message references refuse before storage; refusal-evidence failure stays a typed error
---
duration_ms: 13.557538
type: 'test'
...
# Subtest: both arbiters require human resolution when their cross-role route is themselves
ok 60 - both arbiters require human resolution when their cross-role route is themselves
---
duration_ms: 24.712024
type: 'test'
...
# Subtest: the shipped coder role raises task.reassign as gated to the human; task.scope.change stays cross-role
ok 61 - the shipped coder role raises task.reassign as gated to the human; task.scope.change stays cross-role
---
duration_ms: 20.420921
type: 'test'
...
# Subtest: S1 adapter takes resolved limits and refs, rejects mismatched instance, never mutates input
ok 62 - S1 adapter takes resolved limits and refs, rejects mismatched instance, never mutates input
---
duration_ms: 1.311548
type: 'test'
...
# Subtest: channel conversion preserves the four proof/transport byte baselines and modules cannot import a proof caller
ok 63 - channel conversion preserves the four proof/transport byte baselines and modules cannot import a proof caller
---
duration_ms: 0.918328
type: 'test'
...
# Subtest: channel recovery still requires the same shim path and rejects an absent or forged proof
ok 64 - channel recovery still requires the same shim path and rejects an absent or forged proof
---
duration_ms: 402.225428
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 65 - 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: 45.880926
type: 'test'
...
# Subtest: REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke
ok 66 - REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke
---
duration_ms: 27.518936
type: 'test'
...
# Subtest: REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither
ok 67 - REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither
---
duration_ms: 20.565138
type: 'test'
...
# Subtest: REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path
ok 68 - REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path
---
duration_ms: 19.827103
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 69 - 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: 24.160497
type: 'test'
...
# Subtest: REQ-ROLE-2: a reason is required, bounded, and never sent with a decision
ok 70 - REQ-ROLE-2: a reason is required, bounded, and never sent with a decision
---
duration_ms: 24.397036
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 71 - 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: 26.521044
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 72 - REQ-LIMIT-1, REQ-COS-1: organization.set from the chief of staff reaches the shared writer, named as the actor
---
duration_ms: 20.083199
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 73 - REQ-LIMIT-1, REQ-COS-1: a refused organization.set logs action.refused and no action.allowed, like a refused limits.set
---
duration_ms: 27.59168
type: 'test'
...
# Subtest: REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change
ok 74 - REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change
---
duration_ms: 29.837135
type: 'test'
...
# Subtest: REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys
ok 75 - REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys
---
duration_ms: 32.033219
type: 'test'
...
# Subtest: REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing
ok 76 - REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing
---
duration_ms: 26.255403
type: 'test'
...
# Subtest: REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change
ok 77 - REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change
---
duration_ms: 28.77161
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 78 - 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: 86.563499
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 79 - 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: 76.13557
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 80 - 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: 76.114062
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 81 - 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: 55.23098
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 82 - 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: 72.756997
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 83 - row 194 T10: the chief's reason end of a kept instance refuses instance-kept, holds the claim and spends nothing
---
duration_ms: 20.742541
type: 'test'
...
# Subtest: row 194 T10 (Q2): a role.revoke citing a decision the human resolved still ends a kept run
ok 84 - row 194 T10 (Q2): a role.revoke citing a decision the human resolved still ends a kept run
---
duration_ms: 21.842035
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 85 - 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: 21.612424
type: 'test'
...
# Subtest: row 194 T13: organization.set and limits.set refuse the launch, retired, keep and noHire keys before the writer
ok 86 - row 194 T13: organization.set and limits.set refuse the launch, retired, keep and noHire keys before the writer
---
duration_ms: 27.15835
type: 'test'
...
# Subtest: row 194 T18 (D2.4): from a chief session veto.set and instances.set refuse, and nothing reaches the writer
ok 87 - row 194 T18 (D2.4): from a chief session veto.set and instances.set refuse, and nothing reaches the writer
---
duration_ms: 24.909681
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 88 - 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: 22.154063
type: 'test'
...
# Subtest: row 194 T11: on a bus with two businesses, the chief of one hires and fires only in its own
ok 89 - row 194 T11: on a bus with two businesses, the chief of one hires and fires only in its own
---
duration_ms: 19.785109
type: 'test'
...
# Subtest: row 194 T8: hire and fire need a reason of 1 to 500 characters and refuse a decision key
ok 90 - row 194 T8: hire and fire need a reason of 1 to 500 characters and refuse a decision key
---
duration_ms: 31.839114
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 91 - 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: 29.702504
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 92 - row 194 T8 (sage-1471): a chief whose authority lacks role.hire or role.fire refuses decision-required before the writer
---
duration_ms: 42.459729
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 93 - 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: 24.586444
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 94 - 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: 740.96676
type: 'test'
...
# Subtest: row 194 T8b: a hire without the role files configured refuses not-configured
ok 95 - row 194 T8b: a hire without the role files configured refuses not-configured
---
duration_ms: 21.146816
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 96 - row 194 T9: a fire revokes the claim, cancels open requests, asks the launcher to kill the runs, then delists and logs
---
duration_ms: 22.95559
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 97 - 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: 26.520786
type: 'test'
...
# Subtest: row 194 T9: fire refusals come before step A and leave the claim, the requests and the file alone
ok 98 - row 194 T9: fire refusals come before step A and leave the claim, the requests and the file alone
---
duration_ms: 25.992062
type: 'test'
...
# Subtest: row 194 T9c: a writer failure at B leaves the instance firing, and the repeat delists and logs once
ok 99 - row 194 T9c: a writer failure at B leaves the instance firing, and the repeat delists and logs once
---
duration_ms: 25.327913
type: 'test'
...
# Subtest: row 194 T9c: a failure at C leaves the fire unlogged and the instance firing, and the repeat logs it
ok 100 - row 194 T9c: a failure at C leaves the fire unlogged and the instance firing, and the repeat logs it
---
duration_ms: 25.868602
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 101 - 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: 23.134827
type: 'test'
...
# Subtest: row 194 T10: a hire or fire of a kept name refuses instance-kept before the writer
ok 102 - row 194 T10: a hire or fire of a kept name refuses instance-kept before the writer
---
duration_ms: 19.327491
type: 'test'
...
# Subtest: row 194 T10: a fire the writer's check refuses from the file stops nothing and leaves the instance launchable
ok 103 - row 194 T10: a fire the writer's check refuses from the file stops nothing and leaves the instance launchable
---
duration_ms: 19.103054
type: 'test'
...
# Subtest: row 194 T18: hire and fire take only their own keys, and a refused call writes nothing
ok 104 - row 194 T18: hire and fire take only their own keys, and a refused call writes nothing
---
duration_ms: 26.348777
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 105 - 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: 67.891285
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 106 - row 194 W-N1: the launcher's take of a launch or regenerate of a firing instance closes it as instance-firing
---
duration_ms: 24.081036
type: 'test'
...
# Subtest: C2-06 held library lock gives the agent citation-unavailable and its retry reason
ok 107 - C2-06 held library lock gives the agent citation-unavailable and its retry reason
---
duration_ms: 5141.410558
type: 'test'
...
# Subtest: C2-06 malformed sync state is availability failure, never a fabricated invalid cite
ok 108 - C2-06 malformed sync state is availability failure, never a fabricated invalid cite
---
duration_ms: 31.758138
type: 'test'
...
# Subtest: C2-06 no mirror or freshly initialized empty mirror still means no served citation
ok 109 - C2-06 no mirror or freshly initialized empty mirror still means no served citation
---
duration_ms: 31.412882
type: 'test'
...
# Subtest: C2-06 coder send_message guard covers every table refusal; inserts nothing
ok 110 - C2-06 coder send_message guard covers every table refusal; inserts nothing
---
duration_ms: 106.164133
type: 'test'
...
# Subtest: C2-06 research send_message guard covers every table refusal; inserts nothing
ok 111 - C2-06 research send_message guard covers every table refusal; inserts nothing
---
duration_ms: 90.688666
type: 'test'
...
# Subtest: C2-06 stored check carries the file author trailer at an unrelated cited tip
ok 112 - C2-06 stored check carries the file author trailer at an unrelated cited tip
---
duration_ms: 57.316191
type: 'test'
...
# Subtest: C2-06 supporting cite cannot state canon, including a folder also marked playground
ok 113 - C2-06 supporting cite cannot state canon, including a folder also marked playground
---
duration_ms: 41.129171
type: 'test'
...
# Subtest: C2-06 supporting file stores supporting scope and its real agent trailer
ok 114 - C2-06 supporting file stores supporting scope and its real agent trailer
---
duration_ms: 47.808502
type: 'test'
...
# Subtest: C2-06 check evidence and insert are atomic when storing evidence fails
ok 115 - C2-06 check evidence and insert are atomic when storing evidence fails
---
duration_ms: 40.272671
type: 'test'
...
# Subtest: C2-06 live limits change both directions; unreadable file keeps checks and exact fixed texts
ok 116 - C2-06 live limits change both directions; unreadable file keeps checks and exact fixed texts
---
duration_ms: 53.659135
type: 'test'
...
# Subtest: C2-06 page store is session-local, caps 20 fetches and 200 KiB, drops at disconnect
ok 117 - C2-06 page store is session-local, caps 20 fetches and 200 KiB, drops at disconnect
---
duration_ms: 83.503429
type: 'test'
...
# Subtest: C2-06 transport passes safe capped guard reason; ordinary refusal envelope is byte-identical
ok 118 - C2-06 transport passes safe capped guard reason; ordinary refusal envelope is byte-identical
---
duration_ms: 53.17408
type: 'test'
...
# Subtest: C2-06 non-library businesses retain role.claim shape and unguarded free sends
ok 119 - C2-06 non-library businesses retain role.claim shape and unguarded free sends
---
duration_ms: 25.180872
type: 'test'
...
# Subtest: C2-06 thread messages carry file/last evidence with one read per distinct path
ok 120 - C2-06 thread messages carry file/last evidence with one read per distinct path
---
duration_ms: 76.590733
type: 'test'
...
# Subtest: C2-06 guarded request snapshot cannot change between check and insert
ok 121 - C2-06 guarded request snapshot cannot change between check and insert
---
duration_ms: 24.315507
type: 'test'
...
# Subtest: C2-06 library.limits.set is human-only and invalid settings leave file and receipts unchanged
ok 122 - C2-06 library.limits.set is human-only and invalid settings leave file and receipts unchanged
---
duration_ms: 40.535061
type: 'test'
...
# Subtest: C2-06 runtime reads changed and unreadable reply limits without restarting
ok 123 - C2-06 runtime reads changed and unreadable reply limits without restarting
---
duration_ms: 111.95279
type: 'test'
...
# Subtest: comment cursors isolate businesses, move only forward and remain append-only
ok 124 - comment cursors isolate businesses, move only forward and remain append-only
---
duration_ms: 15.712309
type: 'test'
...
# Subtest: only trusted sync writes validated cursors; events and cursor share rollback
ok 125 - only trusted sync writes validated cursors; events and cursor share rollback
---
duration_ms: 12.54346
type: 'test'
...
# Subtest: explicit 3b copy migration preserves evidence and opens as 3g; normal startup never migrates
ok 126 - explicit 3b copy migration preserves evidence and opens as 3g; normal startup never migrates
---
duration_ms: 65.418772
type: 'test'
...
# Subtest: migration refuses active writers and drifted legacy schemas, with no partial upgrade
ok 127 - migration refuses active writers and drifted legacy schemas, with no partial upgrade
---
duration_ms: 83.834951
type: 'test'
...
# Subtest: named migration registry chains 3b through 3g to a fixture-only future version in order
ok 128 - named migration registry chains 3b through 3g to a fixture-only future version in order
---
duration_ms: 88.561297
type: 'test'
...
# Subtest: migration refuses mismatched source metadata without changing schema or evidence
ok 129 - migration refuses mismatched source metadata without changing schema or evidence
---
duration_ms: 31.822265
type: 'test'
...
# Subtest: offline command migrates only the supplied fixture root and reports usage errors
ok 130 - offline command migrates only the supplied fixture root and reports usage errors
---
duration_ms: 167.082726
type: 'test'
...
# Subtest: N4: the console verbs are exactly the preview and the console resolve, and decision.resolve is not one
ok 131 - N4: the console verbs are exactly the preview and the console resolve, and decision.resolve is not one
---
duration_ms: 1.142915
type: 'test'
...
# Subtest: bindConsole takes only the business human and a three-string owner subject
ok 132 - bindConsole takes only the business human and a three-string owner subject
---
duration_ms: 38.363956
type: 'test'
...
# Subtest: J1, Q188: only a console cap reaches the console verbs, and a console cap reaches nothing else
ok 133 - J1, Q188: only a console cap reaches the console verbs, and a console cap reaches nothing else
---
duration_ms: 37.233195
type: 'test'
...
# Subtest: preview: the two real answers, a grant summary and the digest, for an open grant request only
ok 134 - preview: the two real answers, a grant summary and the digest, for an open grant request only
---
duration_ms: 26.942683
type: 'test'
...
# Subtest: J1, J2: a decision that is not an eligible grant request refuses both console verbs
ok 135 - J1, J2: a decision that is not an eligible grant request refuses both console verbs
---
duration_ms: 32.526586
type: 'test'
...
# Subtest: N2, J13: a Console approve records via console and the owner, before the executor starts, and the grant runs once
ok 136 - N2, J13: a Console approve records via console and the owner, before the executor starts, and the grant runs once
---
duration_ms: 100.03468
type: 'test'
...
# Subtest: J15: a Console deny closes with the other key and starts nothing
ok 137 - J15: a Console deny closes with the other key and starts nothing
---
duration_ms: 127.310162
type: 'test'
...
# Subtest: J2: approve and deny come from approvalChoice and the options, not a fixed yes and no
ok 138 - J2: approve and deny come from approvalChoice and the options, not a fixed yes and no
---
duration_ms: 152.96647
type: 'test'
...
# Subtest: J11: a stale digest or a key outside the two refuses decision-stale and writes nothing
ok 139 - J11: a stale digest or a key outside the two refuses decision-stale and writes nothing
---
duration_ms: 33.394745
type: 'test'
...
# Subtest: J14: a via console close with no matching human.input approves nothing
ok 140 - J14: a via console close with no matching human.input approves nothing
---
duration_ms: 38.886913
type: 'test'
...
# Subtest: recordEvent keeps human.input reserved, so no agent forges a console answer
ok 141 - recordEvent keeps human.input reserved, so no agent forges a console answer
---
duration_ms: 23.620557
type: 'test'
...
# Subtest: J7: a console proof over the socket binds a cap for its one call and the reply releases it
ok 142 - J7: a console proof over the socket binds a cap for its one call and the reply releases it
---
duration_ms: 78.648427
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 143 - M6: a creative raise refuses decision-not-allowed, cited or not, and no decision row appears; the assistant still raises
---
duration_ms: 36.764965
type: 'test'
...
# Subtest: a creative instance sends only to the user and hears only from the user
ok 144 - a creative instance sends only to the user and hears only from the user
---
duration_ms: 43.517859
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 145 - 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: 77.902297
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 146 - row 256 T6 the human deletes a creative instance through the broker; the chief and the tester are refused at the verb
---
duration_ms: 58.050149
type: 'test'
...
# Subtest: X4: register adds a store reference to the running bus, and issue then writes the key
ok 147 - X4: register adds a store reference to the running bus, and issue then writes the key
---
duration_ms: 12.682165
type: 'test'
...
# Subtest: X4: register runs the constructor's reference checks
ok 148 - X4: register runs the constructor's reference checks
---
duration_ms: 0.652811
type: 'test'
...
# Subtest: X4: register reads no file, so a key file left at the path stays unused, and a live token refuses
ok 149 - X4: register reads no file, so a key file left at the path stays unused, and a live token refuses
---
duration_ms: 8.274522
type: 'test'
...
# Subtest: X3, X4: unregister drops an entry with no token and refuses one with a live token
ok 150 - X3, X4: unregister drops an entry with no token and refuses one with a live token
---
duration_ms: 7.67295
type: 'test'
...
# Subtest: X5: a claim holds the slot, so a second claim and a host.run refuse host-busy until release
ok 151 - X5: a claim holds the slot, so a second claim and a host.run refuse host-busy until release
---
duration_ms: 4.608332
type: 'test'
...
# Subtest: X5: a claim made while a host.run is in flight refuses host-busy
ok 152 - X5: a claim made while a host.run is in flight refuses host-busy
---
duration_ms: 4.400103
type: 'test'
...
# Subtest: X5: a stale release leaves a later claim in place
ok 153 - X5: a stale release leaves a later claim in place
---
duration_ms: 0.374338
type: 'test'
...
# Subtest: X5: abortClaim aborts a live claim and says pending, and revoke's abort reaches a claim too
ok 154 - X5: abortClaim aborts a live claim and says pending, and revoke's abort reaches a claim too
---
duration_ms: 5.100625
type: 'test'
...
# Subtest: credentials gives human and reader sessions service, account, role, date and state, and nothing else
ok 155 - credentials gives human and reader sessions service, account, role, date and state, and nothing else
---
duration_ms: 17.140395
type: 'test'
...
# Subtest: credentials refuses a role session and any argument
ok 156 - credentials refuses a role session and any argument
---
duration_ms: 15.365981
type: 'test'
...
# Subtest: credentials reads the status on each request, and a broker without one lists none
ok 157 - credentials reads the status on each request, and a broker without one lists none
---
duration_ms: 20.841619
type: 'test'
...
# Subtest: the broker process answers credentials without a token, path or variable in its output, log or store
ok 158 - the broker process answers credentials without a token, path or variable in its output, log or store
---
duration_ms: 145.884118
type: 'test'
...
# Subtest: T1: a store reference with no file yet starts, and the agent is not-issued until issue
ok 159 - T1: a store reference with no file yet starts, and the agent is not-issued until issue
---
duration_ms: 4.423844
type: 'test'
...
# Subtest: T1: a store path the reference does not own, or no store root, refuses the reference
ok 160 - T1: a store path the reference does not own, or no store root, refuses the reference
---
duration_ms: 0.532063
type: 'test'
...
# Subtest: T1: a wrong mode on the store root, a business dir, an agent dir or the file refuses start
ok 161 - T1: a wrong mode on the store root, a business dir, an agent dir or the file refuses start
---
duration_ms: 1.742338
type: 'test'
...
# Subtest: T1: a missing store root refuses start; a missing {file} reference still refuses start
ok 162 - T1: a missing store root refuses start; a missing {file} reference still refuses start
---
duration_ms: 0.516924
type: 'test'
...
# Subtest: T1: a store file that is a directory or a symlink refuses start
ok 163 - T1: a store file that is a directory or a symlink refuses start
---
duration_ms: 0.773976
type: 'test'
...
# Subtest: T2: useFor keys from the session only
ok 164 - T2: useFor keys from the session only
---
duration_ms: 1.840271
type: 'test'
...
# Subtest: T5: issue, rotate, revoke and delete are live with no restart, and revoke holds across one
ok 165 - T5: issue, rotate, revoke and delete are live with no restart, and revoke holds across one
---
duration_ms: 3.589698
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 166 - T5: a failed commit leaves the token on disk but not in memory, and a bad token or date writes nothing
---
duration_ms: 1.613241
type: 'test'
...
# Subtest: T5: revoke drops the token from memory before the unlink, so a failed unlink still leaves it revoked
ok 167 - T5: revoke drops the token from memory before the unlink, so a failed unlink still leaves it revoked
---
duration_ms: 1.501058
type: 'test'
...
# Subtest: T5: revoke of a {file} reference forgets the token and never unlinks the file
ok 168 - T5: revoke of a {file} reference forgets the token and never unlinks the file
---
duration_ms: 0.540698
type: 'test'
...
# Subtest: T5: delete refuses an agent dir holding anything but tokens
ok 169 - T5: delete refuses an agent dir holding anything but tokens
---
duration_ms: 2.324399
type: 'test'
...
# Subtest: D5: every credentials use( call site is on the allowlist
ok 170 - D5: every credentials use( call site is on the allowlist
---
duration_ms: 16.164042
type: 'test'
...
# Subtest: row 199: the lifecycle verbs refuse every session but the human, and the tester revokes only
ok 171 - row 199: the lifecycle verbs refuse every session but the human, and the tester revokes only
---
duration_ms: 37.920328
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 172 - T5: issue, rotate, revoke and delete are live, rewrite the business file and leave one receipt each, with no value anywhere
---
duration_ms: 84.468354
type: 'test'
...
# Subtest: only validated broker references load; returned data and exceptions cannot expose a known token
ok 173 - only validated broker references load; returned data and exceptions cannot expose a known token
---
duration_ms: 2.205436
type: 'test'
...
# Subtest: bad file modes, symlinks, repository/data paths, malformed tokens and missing dates refuse
ok 174 - bad file modes, symlinks, repository/data paths, malformed tokens and missing dates refuse
---
duration_ms: 1.276912
type: 'test'
...
# Subtest: expiry refuses use and env references never become client data
ok 175 - expiry refuses use and env references never become client data
---
duration_ms: 0.425951
type: 'test'
...
# Subtest: S1 parsed service refs work, service mismatch refuses, Gitea rotation due is a warning state
ok 176 - S1 parsed service refs work, service mismatch refuses, Gitea rotation due is a warning state
---
duration_ms: 0.928091
type: 'test'
...
# Subtest: opaque tokens shorter than 16 characters refuse before use
ok 177 - opaque tokens shorter than 16 characters refuse before use
---
duration_ms: 0.230293
type: 'test'
...
# Subtest: each C-suite role file carries the same two lists: human, chief-of-staff, pm, cto
ok 178 - each C-suite role file carries the same two lists: human, chief-of-staff, pm, cto
---
duration_ms: 1.2765
type: 'test'
...
# Subtest: chief-executive-officer: messages to and from the user, chief of staff, pm and cto pass
ok 179 - chief-executive-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 50.975606
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 180 - chief-executive-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 38.168126
type: 'test'
...
# Subtest: chief-executive-officer: another C-suite role isn't on the lists either
ok 181 - chief-executive-officer: another C-suite role isn't on the lists either
---
duration_ms: 30.8315
type: 'test'
...
# Subtest: chief-financial-officer: messages to and from the user, chief of staff, pm and cto pass
ok 182 - chief-financial-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 37.587102
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 183 - chief-financial-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 36.09937
type: 'test'
...
# Subtest: chief-financial-officer: another C-suite role isn't on the lists either
ok 184 - chief-financial-officer: another C-suite role isn't on the lists either
---
duration_ms: 30.894197
type: 'test'
...
# Subtest: chief-information-officer: messages to and from the user, chief of staff, pm and cto pass
ok 185 - chief-information-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 38.918386
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 186 - chief-information-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 36.127033
type: 'test'
...
# Subtest: chief-information-officer: another C-suite role isn't on the lists either
ok 187 - chief-information-officer: another C-suite role isn't on the lists either
---
duration_ms: 30.720641
type: 'test'
...
# Subtest: chief-information-security-officer: messages to and from the user, chief of staff, pm and cto pass
ok 188 - chief-information-security-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 38.200924
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 189 - chief-information-security-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 36.790681
type: 'test'
...
# Subtest: chief-information-security-officer: another C-suite role isn't on the lists either
ok 190 - chief-information-security-officer: another C-suite role isn't on the lists either
---
duration_ms: 30.433342
type: 'test'
...
# Subtest: chief-marketing-officer: messages to and from the user, chief of staff, pm and cto pass
ok 191 - chief-marketing-officer: messages to and from the user, chief of staff, pm and cto pass
---
duration_ms: 38.396797
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 192 - chief-marketing-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored
---
duration_ms: 35.599954
type: 'test'
...
# Subtest: chief-marketing-officer: another C-suite role isn't on the lists either
ok 193 - chief-marketing-officer: another C-suite role isn't on the lists either
---
duration_ms: 31.641671
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":"c1d057b9-a9ce-48ff-807a-6b966f05d2ef","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":"77307a1f-aae9-450f-9daf-bf7a30f2f917","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it
ok 194 - REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it
---
duration_ms: 106.308829
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 195 - REQ-LIMIT-4 runtime: a run bound with the account writes it on its usage records and stops at the quota
---
duration_ms: 49.481271
type: 'test'
...
# Subtest: REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it
ok 196 - REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it
---
duration_ms: 45.700047
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 197 - REQ-LIMIT-4 bindLaunch keeps the account off session.launched, refuses one that is not an identifier, and takes null as none
---
duration_ms: 12.033811
type: 'test'
...
# Subtest: a human resolve sends the raising role one message from the human, and its request is the answer
ok 198 - a human resolve sends the raising role one message from the human, and its request is the answer
---
duration_ms: 34.3133
type: 'test'
...
# Subtest: a cross-role decision resolved by its arbiter comes from that role and run, with no request
ok 199 - a cross-role decision resolved by its arbiter comes from that role and run, with no request
---
duration_ms: 21.134593
type: 'test'
...
# Subtest: a human withdraw sends one message with the note
ok 200 - a human withdraw sends one message with the note
---
duration_ms: 19.933165
type: 'test'
...
# Subtest: a human seen before the close leaves the request on the close's answer, not the seen
ok 201 - a human seen before the close leaves the request on the close's answer, not the seen
---
duration_ms: 23.383409
type: 'test'
...
# Subtest: the raising run's withdraw, a supersede, a within-role raise and seen send nothing
ok 202 - the raising run's withdraw, a supersede, a within-role raise and seen send nothing
---
duration_ms: 24.014184
type: 'test'
...
# Subtest: refused closes send nothing: invalid-choice, decision-closed, not-resolver
ok 203 - refused closes send nothing: invalid-choice, decision-closed, not-resolver
---
duration_ms: 25.106192
type: 'test'
...
# Subtest: a raising role nobody holds at the close gets the message on the next claim
ok 204 - a raising role nobody holds at the close gets the message on the next claim
---
duration_ms: 21.45223
type: 'test'
...
# Subtest: a human DECISION send keeps its own instruction as the request, not a close's answer
ok 205 - a human DECISION send keeps its own instruction as the request, not a close's answer
---
duration_ms: 20.545726
type: 'test'
...
# Subtest: a cross-role raise whose arbiter the raiser does not hear from is refused and stores nothing
ok 206 - a cross-role raise whose arbiter the raiser does not hear from is refused and stores nothing
---
duration_ms: 32.472164
type: 'test'
...
# Subtest: a gated raise by a role that does not hear from the human is refused and stores nothing
ok 207 - a gated raise by a role that does not hear from the human is refused and stores nothing
---
duration_ms: 23.766273
type: 'test'
...
# Subtest: a route the raiser hears from is allowed, checked from the route to the raiser
ok 208 - a route the raiser hears from is allowed, checked from the route to the raiser
---
duration_ms: 33.083841
type: 'test'
...
# Subtest: a refused supersede withdraws nothing
ok 209 - a refused supersede withdraws nothing
---
duration_ms: 23.669088
type: 'test'
...
# Subtest: the assistant's within-role and gated raises still work
ok 210 - the assistant's within-role and gated raises still work
---
duration_ms: 24.599373
type: 'test'
...
# Subtest: roles lists open decisions routed to a role, and never the human inbox
ok 211 - roles lists open decisions routed to a role, and never the human inbox
---
duration_ms: 28.92175
type: 'test'
...
# Subtest: recent lists closed decisions of every route, newest close first, with how each closed
ok 212 - recent lists closed decisions of every route, newest close first, with how each closed
---
duration_ms: 27.388092
type: 'test'
...
# Subtest: recent gives the closing event as closed when the decision was seen first
ok 213 - recent gives the closing event as closed when the decision was seen first
---
duration_ms: 27.865949
type: 'test'
...
# Subtest: recent stops at RECENT rows
ok 214 - recent stops at RECENT rows
---
duration_ms: 81.072313
type: 'test'
...
# Subtest: every row is what trail already gives the same session for that id
ok 215 - every row is what trail already gives the same session for that id
---
duration_ms: 35.328168
type: 'test'
...
# Subtest: a role session can't list decisions, so it can't read another role's open decisions
ok 216 - a role session can't list decisions, so it can't read another role's open decisions
---
duration_ms: 34.775065
type: 'test'
...
# Subtest: decisions is a read: one business, strict arguments, nothing written
ok 217 - decisions is a read: one business, strict arguments, nothing written
---
duration_ms: 36.412116
type: 'test'
...
# Subtest: endLaunch writes session.ended, releases the run claim and kills its capabilities
ok 218 - endLaunch writes session.ended, releases the run claim and kills its capabilities
---
duration_ms: 18.98838
type: 'test'
...
# Subtest: endLaunch refuses an unknown run, a second end and a rebind of the ended run
ok 219 - endLaunch refuses an unknown run, a second end and a rebind of the ended run
---
duration_ms: 11.418152
type: 'test'
...
# Subtest: a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound
ok 220 - a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound
---
duration_ms: 13.486425
type: 'test'
...
# Subtest: endLaunch leaves a claim another run took alone
ok 221 - endLaunch leaves a claim another run took alone
---
duration_ms: 14.306424
type: 'test'
...
# Subtest: refuse records action.refused against the caller with the code only
ok 222 - refuse records action.refused against the caller with the code only
---
duration_ms: 11.774368
type: 'test'
...
# Subtest: launches off refuses role.launch with launch-revoked until launches on
ok 223 - launches off refuses role.launch with launch-revoked until launches on
---
duration_ms: 16.652435
type: 'test'
...
# Subtest: broker process: launch ops authorize role.launch, record refusals and end runs
ok 224 - broker process: launch ops authorize role.launch, record refusals and end runs
---
duration_ms: 155.250227
type: 'test'
...
# Subtest: row 281 T2: a fire with host grants on two hosts and a Gitea grant answers with a job, then revokes all three
ok 225 - row 281 T2: a fire with host grants on two hosts and a Gitea grant answers with a job, then revokes all three
---
duration_ms: 235.464055
type: 'test'
...
# Subtest: row 281 T3 (sage-2575): a delete with grants takes two requests: the first starts the job, the next completes
ok 226 - row 281 T3 (sage-2575): a delete with grants takes two requests: the first starts the job, the next completes
---
duration_ms: 214.953606
type: 'test'
...
# Subtest: row 281 T3b (Q2): a delete whose job refuses on host B; the retry refuses grant-revoke-failed and revokes only B and Gitea
ok 227 - row 281 T3b (Q2): a delete whose job refuses on host B; the retry refuses grant-revoke-failed and revokes only B and Gitea
---
duration_ms: 199.753859
type: 'test'
...
# Subtest: row 281 T3b: B cleared by hand with hosts.revoke; the next delete starts a job for Gitea and the leftover line only
ok 228 - row 281 T3b: B cleared by hand with hosts.revoke; the next delete starts a job for Gitea and the leftover line only
---
duration_ms: 197.505935
type: 'test'
...
# Subtest: row 281 T3c (sage-2575 condition 4): a delete of an instance with no grant completes in one request
ok 229 - row 281 T3c (sage-2575 condition 4): a delete of an instance with no grant completes in one request
---
duration_ms: 54.060571
type: 'test'
...
# Subtest: row 281 T4: host B unreachable in a fire: the job refuses, A stays revoked, B and Gitea untouched; a repeat completes
ok 230 - row 281 T4: host B unreachable in a fire: the job refuses, A stays revoked, B and Gitea untouched; a repeat completes
---
duration_ms: 188.854849
type: 'test'
...
# Subtest: row 281 T4b (Q1): a line a manual hosts.revoke left on C is removed by the fire, with its close
ok 231 - row 281 T4b (Q1): a line a manual hosts.revoke left on C is removed by the fire, with its close
---
duration_ms: 81.987643
type: 'test'
...
# Subtest: row 281 T4b (Q1): with C unreachable, the fire completes and names the line in grantsLeft
ok 232 - row 281 T4b (Q1): with C unreachable, the fire completes and names the line in grantsLeft
---
duration_ms: 83.581675
type: 'test'
...
# Subtest: row 281 T5: Gitea's admin token can't be checked: the job refuses with the Gitea grant intact
ok 233 - row 281 T5: Gitea's admin token can't be checked: the job refuses with the Gitea grant intact
---
duration_ms: 102.462618
type: 'test'
...
# Subtest: row 281 T5b (N1): a failed token DELETE refuses gitea-left; the repeat retries only this agent's entries
ok 234 - row 281 T5b (N1): a failed token DELETE refuses gitea-left; the repeat retries only this agent's entries
---
duration_ms: 274.295898
type: 'test'
...
# Subtest: row 281 T6 (sage-2574): a host decision approved before the fire and run after it ends revoked, with nothing applied
ok 235 - row 281 T6 (sage-2574): a host decision approved before the fire and run after it ends revoked, with nothing applied
---
duration_ms: 61.068559
type: 'test'
...
# Subtest: row 281 T6b (sage-2574): a Gitea decision approved before the fire and run after it ends revoked before any Gitea write
ok 236 - row 281 T6b (sage-2574): a Gitea decision approved before the fire and run after it ends revoked before any Gitea write
---
duration_ms: 73.535219
type: 'test'
...
# Subtest: row 281 T6c: a host executor in flight aborts and ends revoked; a Gitea executor in flight is awaited and leaves no token
ok 237 - row 281 T6c: a host executor in flight aborts and ends revoked; a Gitea executor in flight is awaited and leaves no token
---
duration_ms: 234.792007
type: 'test'
...
# Subtest: row 281 T6d (B1): undecided host and Gitea decisions are in the set, and approved after the fire both end revoked
ok 238 - row 281 T6d (B1): undecided host and Gitea decisions are in the set, and approved after the fire both end revoked
---
duration_ms: 92.29187
type: 'test'
...
# Subtest: row 281 T6e (B1): a grant raise refuses instance-fired while firing and after the fire, goes through after a rehire, and refuses grant-revoke-running during a delete job
ok 239 - row 281 T6e (B1): a grant raise refuses instance-fired while firing and after the fire, goes through after a rehire, and refuses grant-revoke-running during a delete job
---
duration_ms: 105.17558
type: 'test'
...
# Subtest: row 281 T7: an instance with no grant fires as today, synchronously, with the same events
ok 240 - row 281 T7: an instance with no grant fires as today, synchronously, with the same events
---
duration_ms: 50.542878
type: 'test'
...
# Subtest: row 281 T9 (B3): one step G per agent; the manual verbs refuse while it runs, and sweep names it running
ok 241 - row 281 T9 (B3): one step G per agent; the manual verbs refuse while it runs, and sweep names it running
---
duration_ms: 204.982957
type: 'test'
...
# Subtest: row 281 T10 (B2): the fire and the delete answer while their jobs are held, and the broker answers other verbs
ok 242 - row 281 T10 (B2): the fire and the delete answer while their jobs are held, and the broker answers other verbs
---
duration_ms: 184.314947
type: 'test'
...
# Subtest: row 281 T11 (C1): a fire's job completes after the chief's run ends and processing halts
ok 243 - row 281 T11 (C1): a fire's job completes after the chief's run ends and processing halts
---
duration_ms: 82.476583
type: 'test'
...
# Subtest: row 281 T12 (C1, N7): a step B refusal in the job is fire.failed, and the repeat runs B and C synchronously
ok 244 - row 281 T12 (C1, N7): a step B refusal in the job is fire.failed, and the repeat runs B and C synchronously
---
duration_ms: 73.46506
type: 'test'
...
# Subtest: row 281 T13 (N4): a restart records each held job interrupted once, with one message each; an ended job gets none
ok 245 - row 281 T13 (N4): a restart records each held job interrupted once, with one message each; an ended job gets none
---
duration_ms: 130.151417
type: 'test'
...
# Subtest: row 281 T14 (N1, sage-2653): a host removed under an undecided decision stops the fire on host-unknown; the human's no closes it, and the repeat fire has no job
ok 246 - row 281 T14 (N1, sage-2653): a host removed under an undecided decision stops the fire on host-unknown; the human's no closes it, and the repeat fire has no job
---
duration_ms: 58.099908
type: 'test'
...
# Subtest: row 239 T4: a refusal after the writer's revoke is named -revoked, in the job's fire.failed and notice, a synchronous fire and a delete
ok 247 - row 239 T4: a refusal after the writer's revoke is named -revoked, in the job's fire.failed and notice, a synchronous fire and a delete
---
duration_ms: 92.145462
type: 'test'
...
# Subtest: row 239 T4b: an unmarked step B refusal keeps its code, and the notice says nothing of the tokens
ok 248 - row 239 T4b: an unmarked step B refusal keeps its code, and the notice says nothing of the tokens
---
duration_ms: 72.513792
type: 'test'
...
# Subtest: C2-21 F-A/F-B: admin collaborator grant on another owner and seat permission reach; F-C/F-D protection observations
ok 249 - C2-21 F-A/F-B: admin collaborator grant on another owner and seat permission reach; F-C/F-D protection observations
---
duration_ms: 11606.266727
type: 'test'
...
# ✔ C2-21 F-A/F-B: admin collaborator grant on another owner and seat permission reach; F-C/F-D protection observations (11490.082613ms)\\nℹ F-A creative write: PUT status 204\\nℹ F-B creative: permissions {"admin":false,"push":true,"pull":true}\\nℹ F-A chief read: PUT status 204\\nℹ F-B chief: permissions {"admin":false,"push":false,"pull":true}\\nℹ F-C protected Story/**: seat rc 1, owner rc 1; established false\\nℹ F-D protected branch: normal rc 0, force rc 1; established true\\nℹ minted 4, hits 0\\nℹ tests 1\\nℹ suites 0\\nℹ pass 1\\nℹ fail 0\\nℹ cancelled 0\\nℹ skipped 0\\nℹ todo 0\\nℹ duration_ms 11576.227485\\n
# minted 4, hits 0 (complete TAP stdout/stderr)
# 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 250 - 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: 12807.757659
type: 'test'
...
# Subtest: versionAtLeast compares numbers and refuses a prerelease of 1.27.0
ok 251 - versionAtLeast compares numbers and refuses a prerelease of 1.27.0
---
duration_ms: 1.215274
type: 'test'
...
# Subtest: X-G1: a raise that fails a check refuses and stores nothing
ok 252 - X-G1: a raise that fails a check refuses and stores nothing
---
duration_ms: 63.999533
type: 'test'
...
# Subtest: X-G1: a creative role, a role without identity and a missing or due slot refuse at raise
ok 253 - X-G1: a creative role, a role without identity and a missing or due slot refuse at raise
---
duration_ms: 183.870546
type: 'test'
...
# Subtest: X-G1: the chief of staff refuses at raise, whatever its definition, identity and publish declare
ok 254 - X-G1: the chief of staff refuses at raise, whatever its definition, identity and publish declare
---
duration_ms: 38.151416
type: 'test'
...
# Subtest: X-G2: admin set refuses each failed check and writes nothing, then writes the slot once
ok 255 - X-G2: admin set refuses each failed check and writes nothing, then writes the slot once
---
duration_ms: 149.193603
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 256 - 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: 104.710829
type: 'test'
...
# Subtest: X-G4: a user this stack did not make, an admin, a disabled user and a remade user each refuse
ok 257 - X-G4: a user this stack did not make, an admin, a disabled user and a remade user each refuse
---
duration_ms: 277.828826
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 258 - X-G6 and X-G8: the user and mint steps are written before their calls, and each result after its call
---
duration_ms: 103.52608
type: 'test'
...
# Subtest: X-G4: a fork by the seat user of another repository than the project refuses fork-foreign
ok 259 - X-G4: a fork by the seat user of another repository than the project refuses fork-foreign
---
duration_ms: 81.121943
type: 'test'
...
# Subtest: X-G5: a failure after the mint deletes the token, unloads nothing it did not load and leaves no file
ok 260 - X-G5: a failure after the mint deletes the token, unloads nothing it did not load and leaves no file
---
duration_ms: 127.757346
type: 'test'
...
# Subtest: X-G5: a token delete that fails is left at Gitea, shown by status and taken by sweep
ok 261 - X-G5: a token delete that fails is left at Gitea, shown by status and taken by sweep
---
duration_ms: 124.294523
type: 'test'
...
# Subtest: X-G5: a mint that fails deletes by name, and a refusal at step 0 leaves the decision unspent
ok 262 - X-G5: a mint that fails deletes by name, and a refusal at step 0 leaves the decision unspent
---
duration_ms: 151.633641
type: 'test'
...
# Subtest: X-G5: an agent held for an unknown token is refused at step 0 with no Gitea call
ok 263 - X-G5: an agent held for an unknown token is refused at step 0 with no Gitea call
---
duration_ms: 63.698785
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 264 - X-G5 and X-G9 (step 7): a rotation whose old-token delete fails stays applied with the old id left
---
duration_ms: 169.534674
type: 'test'
...
# Subtest: X-G10: in a rotation the store file holds the new token before the old one is deleted
ok 265 - X-G10: in a rotation the store file holds the new token before the old one is deleted
---
duration_ms: 149.806346
type: 'test'
...
# Subtest: X-G6: a rotation cut before the rename settles back at once, and the old token stays live
ok 266 - X-G6: a rotation cut before the rename settles back at once, and the old token stays live
---
duration_ms: 165.20677
type: 'test'
...
# Subtest: X-G6: a rotation whose step 8 write fails is settle-pending, and a restart settles it forward
ok 267 - X-G6: a rotation whose step 8 write fails is settle-pending, and a restart settles it forward
---
duration_ms: 180.451384
type: 'test'
...
# Subtest: X-G6: a restart settles an open rotation back when the file still holds the old token
ok 268 - X-G6: a restart settles an open rotation back when the file still holds the old token
---
duration_ms: 137.251315
type: 'test'
...
# Subtest: X-G6: a restart settles an open rotation forward when the file holds the new token
ok 269 - X-G6: a restart settles an open rotation forward when the file holds the new token
---
duration_ms: 136.10973
type: 'test'
...
# Subtest: X-G6: a 401 on the file token loses the grant: both tokens go, the record goes and memory unloads
ok 270 - X-G6: a 401 on the file token loses the grant: both tokens go, the record goes and memory unloads
---
duration_ms: 141.402485
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 271 - X-G6: a 403, 404, 500, a hang and a dropped socket each leave the rotation settle-pending with nothing deleted
---
duration_ms: 1052.28787
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 272 - 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: 141.289347
type: 'test'
...
# Subtest: N9: a revoke of an open rotation, then a restart: no settle, no Gitea call and no message
ok 273 - N9: a revoke of an open rotation, then a restart: no settle, no Gitea call and no message
---
duration_ms: 116.031856
type: 'test'
...
# Subtest: N9: a 404 on a delete by id counts as done
ok 274 - N9: a 404 on a delete by id counts as done
---
duration_ms: 133.5576
type: 'test'
...
# Subtest: X-G6: a restart undoes each step a killed child left, and spends an approved unspent decision
ok 275 - X-G6: a restart undoes each step a killed child left, and spends an approved unspent decision
---
duration_ms: 405.986804
type: 'test'
...
# Subtest: X-G6: a restart with no admin slot leaves the user an orphan and the token left
ok 276 - X-G6: a restart with no admin slot leaves the user an orphan and the token left
---
duration_ms: 54.392255
type: 'test'
...
# Subtest: X-G7: a change to the definition, identity, publish remotes or admin slot after the raise ends decision-mismatch
ok 277 - X-G7: a change to the definition, identity, publish remotes or admin slot after the raise ends decision-mismatch
---
duration_ms: 123.011848
type: 'test'
...
# Subtest: X-G7 and X-G9: an admin rotate voids open decisions, and rotate --finish deletes what was left
ok 278 - X-G7 and X-G9: an admin rotate voids open decisions, and rotate --finish deletes what was left
---
duration_ms: 107.601728
type: 'test'
...
# Subtest: X-G9: a rotate whose name is taken refuses and writes nothing; remove takes the slot away
ok 279 - X-G9: a rotate whose name is taken refuses and writes nothing; remove takes the slot away
---
duration_ms: 66.994714
type: 'test'
...
# Subtest: X-G9: a slot past its rotate-by date refuses a run at step 0, leaving the decision unspent
ok 280 - X-G9: a slot past its rotate-by date refuses a run at step 0, leaving the decision unspent
---
duration_ms: 50.394527
type: 'test'
...
# Subtest: X-G11: run refuses every caller but the human, an unapproved, a spent and a busy decision
ok 281 - X-G11: run refuses every caller but the human, an unapproved, a spent and a busy decision
---
duration_ms: 113.206528
type: 'test'
...
# Subtest: kill switch (plan :16): while halted the chief still reads grants.status, and an agent grants.revoke refuses
ok 282 - kill switch (plan :16): while halted the chief still reads grants.status, and an agent grants.revoke refuses
---
duration_ms: 109.995783
type: 'test'
...
# Subtest: X-G11: a revoke while the executor runs aborts it and the grant ends revoked
ok 283 - X-G11: a revoke while the executor runs aborts it and the grant ends revoked
---
duration_ms: 105.756361
type: 'test'
...
# Subtest: X-G11: a revoke unloads memory and removes the file before its Gitea delete
ok 284 - X-G11: a revoke unloads memory and removes the file before its Gitea delete
---
duration_ms: 111.903937
type: 'test'
...
# Subtest: X-G11: a revoke during a rotation step 7 ends it revoked, and step 8 writes no record back
ok 285 - X-G11: a revoke during a rotation step 7 ends it revoked, and step 8 writes no record back
---
duration_ms: 158.542268
type: 'test'
...
# Subtest: X-G11: a revoke while a sweep settles a rotation, forward or back, ends it revoked with no record
ok 286 - X-G11: a revoke while a sweep settles a rotation, forward or back, ends it revoked with no record
---
duration_ms: 332.435254
type: 'test'
...
# Subtest: X-G11: a revoke during a settle whoami that finds a foreign token ends it revoked, not held
ok 287 - X-G11: a revoke during a settle whoami that finds a foreign token ends it revoked, not held
---
duration_ms: 190.850873
type: 'test'
...
# Subtest: X-G11: a revoke during a settle whoami that gets a 401 ends it revoked, not lost
ok 288 - X-G11: a revoke during a settle whoami that gets a 401 ends it revoked, not lost
---
duration_ms: 160.428195
type: 'test'
...
# Subtest: X-G12: a token that reaches wider than its forks fails with the repository named
ok 289 - X-G12: a token that reaches wider than its forks fails with the repository named
---
duration_ms: 399.165871
type: 'test'
...
# Subtest: X-G12: reach is paged by X-Total-Count and a count that does not add up refuses
ok 290 - X-G12: reach is paged by X-Total-Count and a count that does not add up refuses
---
duration_ms: 262.328193
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 291 - X-G13: an agent cannot record a grant event, and the trigger refuses one from any writer but the grant writer
---
duration_ms: 41.788847
type: 'test'
...
# Subtest: X-G14: credentials delete fires the user: tokens go, login is prohibited, and grant.revoke.closed records it
ok 292 - X-G14: credentials delete fires the user: tokens go, login is prohibited, and grant.revoke.closed records it
---
duration_ms: 256.259425
type: 'test'
...
# Subtest: X-G14: a fire whose token delete or login PATCH fails lands it in serviceLeft
ok 293 - X-G14: a fire whose token delete or login PATCH fails lands it in serviceLeft
---
duration_ms: 148.261746
type: 'test'
...
# Subtest: X-G14: a fire whose user is gone or remade skips the fire steps and says why
ok 294 - X-G14: a fire whose user is gone or remade skips the fire steps and says why
---
duration_ms: 257.327156
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 295 - X-G14: a sweep retries a fire only for the user it fired: a remade or gone user is skipped and named
---
duration_ms: 299.752968
type: 'test'
...
# Subtest: X-G14: a revoke Gitea cannot reach stays open, and a restart closes it
ok 296 - X-G14: a revoke Gitea cannot reach stays open, and a restart closes it
---
duration_ms: 133.866837
type: 'test'
...
# Subtest: row 281 T8: a tester grants.revoke refuses tester-dev-only once bus.tester is off; the human revoke keeps its records and starts no job
ok 297 - row 281 T8: a tester grants.revoke refuses tester-dev-only once bus.tester is off; the human revoke keeps its records and starts no job
---
duration_ms: 127.458345
type: 'test'
...
# Subtest: X-G15: look-alike commit steps outside the grant writer are ignored at start, by revoke and by status
ok 298 - X-G15: look-alike commit steps outside the grant writer are ignored at start, by revoke and by status
---
duration_ms: 115.070545
type: 'test'
...
# Subtest: X-G15: a look-alike spend under another kind with the grant writer pair is not an open grant
ok 299 - X-G15: a look-alike spend under another kind with the grant writer pair is not an open grant
---
duration_ms: 42.800561
type: 'test'
...
# Subtest: status lists the slot, users, grants and nothing secret, and every grants verb needs service gitea
ok 300 - status lists the slot, users, grants and nothing secret, and every grants verb needs service gitea
---
duration_ms: 108.822462
type: 'test'
...
# Subtest: C2-21 L1/L2/L9: research gets write on her repository with declared scopes through raise and yes
ok 301 - C2-21 L1/L2/L9: research gets write on her repository with declared scopes through raise and yes
---
duration_ms: 122.624992
type: 'test'
...
# Subtest: C2-21 L1/L2/L9: chief-of-staff gets read on her repository with declared scopes through raise and yes
ok 302 - C2-21 L1/L2/L9: chief-of-staff gets read on her repository with declared scopes through raise and yes
---
duration_ms: 106.13928
type: 'test'
...
# Subtest: C2-21 L1/L2/L9: coder gets read on her repository with declared scopes through raise and yes
ok 303 - C2-21 L1/L2/L9: coder gets read on her repository with declared scopes through raise and yes
---
duration_ms: 106.23829
type: 'test'
...
# Subtest: C2-21 L7/L7b: research refuses non-library targets lib
ok 304 - C2-21 L7/L7b: research refuses non-library targets lib
---
duration_ms: 41.091247
type: 'test'
...
# Subtest: C2-21 L7/L7b: research refuses non-library targets app,lib
ok 305 - C2-21 L7/L7b: research refuses non-library targets app,lib
---
duration_ms: 38.604909
type: 'test'
...
# Subtest: C2-21 L7/L7b: chief-of-staff refuses non-library targets lib
ok 306 - C2-21 L7/L7b: chief-of-staff refuses non-library targets lib
---
duration_ms: 40.387676
type: 'test'
...
# Subtest: C2-21 L7/L7b: chief-of-staff refuses non-library targets app,lib
ok 307 - C2-21 L7/L7b: chief-of-staff refuses non-library targets app,lib
---
duration_ms: 41.69827
type: 'test'
...
# Subtest: C2-21 L4: read widened to write refuses gitea-reach-wider and deletes the minted token
ok 308 - C2-21 L4: read widened to write refuses gitea-reach-wider and deletes the minted token
---
duration_ms: 104.166354
type: 'test'
...
# Subtest: C2-21 L4: admin privilege refuses gitea-reach-wider and deletes the minted token
ok 309 - C2-21 L4: admin privilege refuses gitea-reach-wider and deletes the minted token
---
duration_ms: 106.489253
type: 'test'
...
# Subtest: C2-21 L4: missing pull refuses gitea-reach-wider and deletes the minted token
ok 310 - C2-21 L4: missing pull refuses gitea-reach-wider and deletes the minted token
---
duration_ms: 88.038683
type: 'test'
...
# Subtest: C2-21 L4: missing permission object refuses gitea-reach-wider and deletes the minted token
ok 311 - C2-21 L4: missing permission object refuses gitea-reach-wider and deletes the minted token
---
duration_ms: 88.096718
type: 'test'
...
# Subtest: C2-21 L4: library fork refuses gitea-reach-wider and deletes the minted token
ok 312 - C2-21 L4: library fork refuses gitea-reach-wider and deletes the minted token
---
duration_ms: 86.200849
type: 'test'
...
# Subtest: C2-21 L8: untargeted library collaborator reach is disclosed and accepted publish-wide
ok 313 - C2-21 L8: untargeted library collaborator reach is disclosed and accepted publish-wide
---
duration_ms: 88.318379
type: 'test'
...
# Subtest: C2-21 L10: project kind or library level changing after raise refuses decision-mismatch
ok 314 - C2-21 L10: project kind or library level changing after raise refuses decision-mismatch
---
duration_ms: 151.358505
type: 'test'
...
# Subtest: C2-21 L4: creative write requires push true but ignores unrelated permission keys
ok 315 - C2-21 L4: creative write requires push true but ignores unrelated permission keys
---
duration_ms: 195.518096
type: 'test'
...
# Subtest: C2-21: a library grant with no declared scopes refuses gitea-not-declared at raise
ok 316 - C2-21: a library grant with no declared scopes refuses gitea-not-declared at raise
---
duration_ms: 44.859316
type: 'test'
...
# Subtest: 3j copy migrates to 3k: every row kept, and sqlite_master gains only the two tables and their keys
ok 317 - 3j copy migrates to 3k: every row kept, and sqlite_master gains only the two tables and their keys
---
duration_ms: 80.929315
type: 'test'
...
# Subtest: a 3j→3k step that fails partway leaves the store at 3j with every row and the schema intact
ok 318 - a 3j→3k step that fails partway leaves the store at 3j with every row and the schema intact
---
duration_ms: 92.233432
type: 'test'
...
# Subtest: the 3j engine refuses a migrated store, migrating or not, and leaves it as it was
ok 319 - the 3j engine refuses a migrated store, migrating or not, and leaves it as it was
---
duration_ms: 83.864447
type: 'test'
...
# Subtest: gitea_users: one user per business and agent, an id above 0, a 16-hex nonce and a real decision
ok 320 - gitea_users: one user per business and agent, an id above 0, a 16-hex nonce and a real decision
---
duration_ms: 11.353518
type: 'test'
...
# Subtest: gitea_grants: one grant per agent, a projects array, a token id above 0, and only for a recorded user
ok 321 - gitea_grants: one grant per agent, a projects array, a token id above 0, and only for a recorded user
---
duration_ms: 12.557465
type: 'test'
...
# Subtest: G1, A1: only the chief raises a grant, and a refused raise stores nothing and runs no keyscan
ok 322 - G1, A1: only the chief raises a grant, and a refused raise stores nothing and runs no keyscan
---
duration_ms: 34.784865
type: 'test'
...
# Subtest: G1: grant goes only with credential.mint, row a takes only host-enroll, and E1 refuses each bad field
ok 323 - G1: grant goes only with credential.mint, row a takes only host-enroll, and E1 refuses each bad field
---
duration_ms: 47.072076
type: 'test'
...
# Subtest: G5, A5, A6: the scanned key set must equal the requested set, or host-key-mismatch and nothing stored
ok 324 - G5, A5, A6: the scanned key set must equal the requested set, or host-key-mismatch and nothing stored
---
duration_ms: 33.188031
type: 'test'
...
# Subtest: G4 (host-enroll block, M1): the broker appends the keys, fingerprints and sudo line, and the cap counts the block
ok 325 - G4 (host-enroll block, M1): the broker appends the keys, fingerprints and sudo line, and the cap counts the block
---
duration_ms: 26.702852
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 326 - G6, X1: the human's cli yes starts enrollment, which writes the record, the key file and the events in order
---
duration_ms: 48.765506
type: 'test'
...
# Subtest: A2, A4: a credential.mint without grant, and a no, start nothing
ok 327 - A2, A4: a credential.mint without grant, and a no, start nothing
---
duration_ms: 240.095639
type: 'test'
...
# Subtest: A3, X1: a resolve by the tester or an agent starts nothing
ok 328 - A3, X1: a resolve by the tester or an agent starts nothing
---
duration_ms: 236.29595
type: 'test'
...
# Subtest: G6 (duckworth-0081 B3): a withdraw by the chief or the human, and an arbiter resolve, start nothing
ok 329 - G6 (duckworth-0081 B3): a withdraw by the chief or the human, and an arbiter resolve, start nothing
---
duration_ms: 244.131753
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 330 - 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: 51.30714
type: 'test'
...
# Subtest: A8, S1: two approved enrollments for one host: the second ends host-enrolled and the pin stays
ok 331 - A8, S1: two approved enrollments for one host: the second ends host-enrolled and the pin stays
---
duration_ms: 69.848964
type: 'test'
...
# Subtest: A9: the hosts primary key refuses a second record for (business, host)
ok 332 - A9: the hosts primary key refuses a second record for (business, host)
---
duration_ms: 22.831994
type: 'test'
...
# Subtest: X3: a failure at step 2 deletes the record again and ends grant.failed, with no key file
ok 333 - X3: a failure at step 2 deletes the record again and ends grant.failed, with no key file
---
duration_ms: 43.925986
type: 'test'
...
# Subtest: A10, X3: at start a resolved, unspent enrollment is spent and ends interrupted, and never runs late
ok 334 - A10, X3: at start a resolved, unspent enrollment is spent and ends interrupted, and never runs late
---
duration_ms: 26.954291
type: 'test'
...
# Subtest: X3: at start an enrollment that stopped after its registry step loses its record and key file
ok 335 - X3: at start an enrollment that stopped after its registry step loses its record and key file
---
duration_ms: 46.921617
type: 'test'
...
# Subtest: G24 first sentence, M2, A12: tags are mosaic- and 32 hex, and differ by business, agent and host
ok 336 - G24 first sentence, M2, A12: tags are mosaic- and 32 hex, and differ by business, agent and host
---
duration_ms: 0.286577
type: 'test'
...
# Subtest: E4: hosts.check sets the record ready and records grant.host.checked; a non-zero list leaves it pending
ok 337 - E4: hosts.check sets the record ready and records grant.host.checked; a non-zero list leaves it pending
---
duration_ms: 50.41738
type: 'test'
...
# Subtest: G20 (duckworth-0081 B3): the human's hosts.check marks the host ready, and the reader refuses
ok 338 - G20 (duckworth-0081 B3): the human's hosts.check marks the host ready, and the reader refuses
---
duration_ms: 46.384033
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 339 - G18 (duckworth-0081 B2), broker half: a check refused host-key-mismatch leaves the host pending-install with no grant.host.checked
---
duration_ms: 45.145001
type: 'test'
...
# Subtest: E4: a check whose installer fingerprint differs from the record refuses host-changed
ok 340 - E4: a check whose installer fingerprint differs from the record refuses host-changed
---
duration_ms: 44.782368
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 341 - 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: 48.481427
type: 'test'
...
# Subtest: G21, F1, F2, M4, A22: hosts.remove refuses host-line-left on a guarded hostLineLeft, and ignores look-alikes
ok 342 - G21, F1, F2, M4, A22: hosts.remove refuses host-line-left on a guarded hostLineLeft, and ignores look-alikes
---
duration_ms: 50.625543
type: 'test'
...
# Subtest: hosts.remove refuses host-in-use while a grant record names the host
ok 343 - hosts.remove refuses host-in-use while a grant record names the host
---
duration_ms: 47.095644
type: 'test'
...
# Subtest: the grant writer refuses a body outside section 7's shape
ok 344 - the grant writer refuses a body outside section 7's shape
---
duration_ms: 21.542593
type: 'test'
...
# Subtest: recordEvent refuses reserved-event for a grant.* action or operation
ok 345 - recordEvent refuses reserved-event for a grant.* action or operation
---
duration_ms: 21.878435
type: 'test'
...
# Subtest: row 280: an occupied TCP port is attempted, refused, and retried with our sshd
ok 346 - row 280: an occupied TCP port is attempted, refused, and retried with our sshd
---
duration_ms: 84.933268
type: 'test'
...
# Subtest: row 280: every injected picker sample is unprivileged and outside the ephemeral range
ok 347 - row 280: every injected picker sample is unprivileged and outside the ephemeral range
---
duration_ms: 0.358104
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 348 - G7: an Approve installs the tagged line, logs in with the new key, and writes the key file, record and grant.applied
---
duration_ms: 678.579599
type: 'test'
...
# Subtest: G7: a commands change on a live grant updates the record in one transaction and keeps the key and line
ok 349 - G7: a commands change on a live grant updates the record in one transaction and keeps the key and line
---
duration_ms: 532.070632
type: 'test'
...
# Subtest: G8: a failure at install or verify removes the line and leaves no record, key file or reference
ok 350 - G8: a failure at install or verify removes the line and leaves no record, key file or reference
---
duration_ms: 1503.4046
type: 'test'
...
# Subtest: G8: a failed remove adds hostLineLeft and tells the human to sweep
ok 351 - G8: a failed remove adds hostLineLeft and tells the human to sweep
---
duration_ms: 629.325679
type: 'test'
...
# Subtest: G8: a failure in step 5 before commit unlinks the key file, drops the reference and removes the line
ok 352 - G8: a failure in step 5 before commit unlinks the key file, drops the reference and removes the line
---
duration_ms: 646.513379
type: 'test'
...
# Subtest: G8: a store fault in the commit transaction ends host-failed with no record, key file, reference or line
ok 353 - G8: a store fault in the commit transaction ends host-failed with no record, key file, reference or line
---
duration_ms: 631.238259
type: 'test'
...
# Subtest: G8: a failed step 1 check spends the decision and runs nothing remote
ok 354 - G8: a failed step 1 check spends the decision and runs nothing remote
---
duration_ms: 83.371726
type: 'test'
...
# Subtest: G9: a registry, definition or commands change between raise and Approve ends decision-mismatch before any remote step
ok 355 - G9: a registry, definition or commands change between raise and Approve ends decision-mismatch before any remote step
---
duration_ms: 510.636222
type: 'test'
...
# Subtest: G9: an agent no longer a role or no longer declaring host ends with its code, spent
ok 356 - G9: an agent no longer a role or no longer declaring host ends with its code, spent
---
duration_ms: 70.482141
type: 'test'
...
# Subtest: G10: a second start refuses decision-consumed, and an unresolved or agent-resolved decision not-authorized, writing nothing
ok 357 - G10: a second start refuses decision-consumed, and an unresolved or agent-resolved decision not-authorized, writing nothing
---
duration_ms: 512.143413
type: 'test'
...
# Subtest: G15: no event, message or decision holds the private key
ok 358 - G15: no event, message or decision holds the private key
---
duration_ms: 509.010629
type: 'test'
...
# Subtest: G23: a revoke during install ends grant.failed revoked with no key file, no grant and no line
ok 359 - G23: a revoke during install ends grant.failed revoked with no key file, no grant and no line
---
duration_ms: 526.513462
type: 'test'
...
# Subtest: G23 (row 249): an add that writes after an abort's remove leaves hostLineLeft until the sweep
ok 360 - G23 (row 249): an add that writes after an abort's remove leaves hostLineLeft until the sweep
---
duration_ms: 858.012495
type: 'test'
...
# Subtest: G23 (row 249): an add that writes after a timed-out install's remove leaves hostLineLeft until the sweep
ok 361 - G23 (row 249): an add that writes after a timed-out install's remove leaves hostLineLeft until the sweep
---
duration_ms: 853.506299
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 362 - G23: a revoke recorded after the raise and before the start ends step 1 revoked, and a held slot ends host-busy
---
duration_ms: 511.535366
type: 'test'
...
# Subtest: G24: names at 64 characters with . and _ give distinct tags of the fixed length
ok 363 - G24: names at 64 characters with . and _ give distinct tags of the fixed length
---
duration_ms: 0.389496
type: 'test'
...
# Subtest: G11: a restart after install removes the line, then ends interrupted with the tag, holding the slot until then
ok 364 - G11: a restart after install removes the line, then ends interrupted with the tag, holding the slot until then
---
duration_ms: 222.186504
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 365 - 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: 221.129628
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 366 - G11: a restart after a commands change's commit leaves the record as it was and asks nothing of the host
---
duration_ms: 493.546698
type: 'test'
...
# Subtest: G11 (B2): a restart before step 1, spent or not yet spent, ends interrupted and nothing runs later
ok 367 - G11 (B2): a restart before step 1, spent or not yet spent, ends interrupted and nothing runs later
---
duration_ms: 67.543177
type: 'test'
...
# Subtest: G11: a remote undo that fails ends interrupted with hostLineLeft and the sweep hint
ok 368 - G11: a remote undo that fails ends interrupted with hostLineLeft and the sweep hint
---
duration_ms: 285.039677
type: 'test'
...
# Subtest: G11: a restart leaves a finished grant alone, and the reconcile adds nothing for it
ok 369 - G11: a restart leaves a finished grant alone, and the reconcile adds nothing for it
---
duration_ms: 496.314739
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 370 - 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.509564
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 371 - G12: the human's hosts.revoke deletes the record, the key file, the reference and the line, with a closed marker
---
duration_ms: 658.107963
type: 'test'
...
# Subtest: G12 (N4): a revoke with no record still removes the computed tag's line, with granted false; bad args refuse
ok 372 - G12 (N4): a revoke with no record still removes the computed tag's line, with granted false; bad args refuse
---
duration_ms: 215.884462
type: 'test'
...
# Subtest: G13: a revoke during install aborts the executor, which ends revoked, and the line goes
ok 373 - G13: a revoke during install aborts the executor, which ends revoked, and the line goes
---
duration_ms: 560.407609
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 374 - 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: 507.933492
type: 'test'
...
# Subtest: row 281 T8: a tester hosts.revoke refuses tester-dev-only once bus.tester is off, and a human revoke writes no job records
ok 375 - row 281 T8: a tester hosts.revoke refuses tester-dev-only once bus.tester is off, and a human revoke writes no job records
---
duration_ms: 656.011722
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 376 - 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: 662.650213
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 377 - 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: 977.187526
type: 'test'
...
# Subtest: G27: a key file a revoke could not unlink is reported left and goes at the next start
ok 378 - G27: a key file a revoke could not unlink is reported left and goes at the next start
---
duration_ms: 654.943087
type: 'test'
...
# Subtest: G28: a commands change, then a revoke, then a restart leave no record, key, reference or line
ok 379 - G28: a commands change, then a revoke, then a restart leave no record, key, reference or line
---
duration_ms: 656.623526
type: 'test'
...
# Subtest: G24 (B4): hosts.sweep removes only this business's recorded tags no live grant holds, and records what it left
ok 380 - G24 (B4): hosts.sweep removes only this business's recorded tags no live grant holds, and records what it left
---
duration_ms: 964.084778
type: 'test'
...
# Subtest: G12: the local steps finish before the host step, so a host that hangs leaves the agent no access
ok 381 - G12: the local steps finish before the host step, so a host that hangs leaves the agent no access
---
duration_ms: 701.839363
type: 'test'
...
# Subtest: G23 (X5): a revoke right after the spend reaches the executor's claim, so the grant ends revoked
ok 382 - G23 (X5): a revoke right after the spend reaches the executor's claim, so the grant ends revoked
---
duration_ms: 211.490102
type: 'test'
...
# Subtest: G23 (X5): a revoke that lands as verify returns ends revoked with no record, key file or line
ok 383 - G23 (X5): a revoke that lands as verify returns ends revoked with no record, key file or line
---
duration_ms: 673.03905
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 384 - G13: a revoke whose host remove fails still drops the record and key, and reports the line left for a sweep
---
duration_ms: 656.400521
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 385 - 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: 1167.526867
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 386 - 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: 63.757619
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 387 - 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: 515.022901
type: 'test'
...
# Subtest: G1 (host): only the chief raises a host grant, a grant on any other action refuses, and nothing is stored
ok 388 - G1 (host): only the chief raises a host grant, a grant on any other action refuses, and nothing is stored
---
duration_ms: 30.133659
type: 'test'
...
# Subtest: G1, R4: the grant takes exactly method, agent, host, commands and rotateBy, and an unknown method refuses
ok 389 - G1, R4: the grant takes exactly method, agent, host, commands and rotateBy, and an unknown method refuses
---
duration_ms: 33.200555
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 390 - row 236 (\#1742): a gitea grant on a broker with no Gitea path refuses gitea-not-configured, and nothing is stored
---
duration_ms: 19.467268
type: 'test'
...
# Subtest: G2: an agent whose definition lacks host refuses host-not-declared, and an unknown agent unknown-role
ok 391 - G2: an agent whose definition lacks host refuses host-not-declared, and an unknown agent unknown-role
---
duration_ms: 23.126645
type: 'test'
...
# Subtest: mos-1163: a grant whose agent is a creative role refuses host-creative-role, even when its definition declares host
ok 392 - mos-1163: a grant whose agent is a creative role refuses host-creative-role, even when its definition declares host
---
duration_ms: 19.954983
type: 'test'
...
# Subtest: G3: wildcard, shell, empty and other 210 D6 argv prefixes refuse invalid-request
ok 393 - G3: wildcard, shell, empty and other 210 D6 argv prefixes refuse invalid-request
---
duration_ms: 41.377745
type: 'test'
...
# Subtest: R4 rotateBy (sage-1782): a real calendar day after today UTC, or invalid-request
ok 394 - R4 rotateBy (sage-1782): a real calendar day after today UTC, or invalid-request
---
duration_ms: 32.22665
type: 'test'
...
# Subtest: G19: a grant naming a host that is pending-install refuses host-not-ready, and an unknown host host-unknown
ok 395 - G19: a grant naming a host that is pending-install refuses host-not-ready, and an unknown host host-unknown
---
duration_ms: 25.248375
type: 'test'
...
# Subtest: R4, G5: the raise routes to the human and its event body binds the eight fields with their hashes
ok 396 - R4, G5: the raise routes to the human and its event body binds the eight fields with their hashes
---
duration_ms: 20.407463
type: 'test'
...
# Subtest: G4 (host block): the broker appends the host, each prefix, the rotate date and new key or change
ok 397 - G4 (host block): the broker appends the host, each prefix, the rotate date and new key or change
---
duration_ms: 34.292366
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 398 - 3i copy migrates to 3j: every row kept, and sqlite_master gains only the two tables, their keys and the guard
---
duration_ms: 80.146006
type: 'test'
...
# Subtest: a 3i→3j step that fails partway leaves the store at 3i with every row and the schema intact
ok 399 - a 3i→3j step that fails partway leaves the store at 3i with every row and the schema intact
---
duration_ms: 95.999534
type: 'test'
...
# Subtest: the 3i engine refuses a migrated store, migrating or not, and leaves it as it was
ok 400 - the 3i engine refuses a migrated store, migrating or not, and leaves it as it was
---
duration_ms: 85.794579
type: 'test'
...
# Subtest: A22b, sage-1703: a session-written grant.* row from before the step survives it, and the grant readers ignore it
ok 401 - A22b, sage-1703: a session-written grant.* row from before the step survives it, and the grant readers ignore it
---
duration_ms: 81.645565
type: 'test'
...
# Subtest: the guard: a grant.* action or operation on action.allowed needs the (NULL, grant) actor
ok 402 - the guard: a grant.* action or operation on action.allowed needs the (NULL, grant) actor
---
duration_ms: 14.90023
type: 'test'
...
# Subtest: hosts: one record per business and host, a ready host has its installer and check, grants need the host
ok 403 - hosts: one record per business and host, a ready host has its installer and check, grants need the host
---
duration_ms: 12.345508
type: 'test'
...
# organization: {"event":"reload-needs-restart","business":"demo"}
# Subtest: row 298 runtime: human scope approval writes the file and organization history at the supplied revision
ok 404 - row 298 runtime: human scope approval writes the file and organization history at the supplied revision
---
duration_ms: 71.57735
type: 'test'
...
# Subtest: row 298 (Q3): only the human at the cli reads or sets the scope; agents, the tester, a reader and the Console refuse
ok 405 - row 298 (Q3): only the human at the cli reads or sets the scope; agents, the tester, a reader and the Console refuse
---
duration_ms: 73.345247
type: 'test'
...
# Subtest: row 298 (Q1): organization.set and limits.set refuse a grantScope key, and nothing is written
ok 406 - row 298 (Q1): organization.set and limits.set refuse a grantScope key, and nothing is written
---
duration_ms: 46.72714
type: 'test'
...
# Subtest: row 298 (Q3): the human verb writes the scope and a grant.scope record with the human proof and both sha256
ok 407 - row 298 (Q3): the human verb writes the scope and a grant.scope record with the human proof and both sha256
---
duration_ms: 46.828441
type: 'test'
...
# Subtest: row 298 (Q4): an in-scope Gitea grant is issued with no inbox item, logged with 236 records, and revocable
ok 408 - row 298 (Q4): an in-scope Gitea grant is issued with no inbox item, logged with 236 records, and revocable
---
duration_ms: 132.600693
type: 'test'
...
# Subtest: row 298: an out-of-scope Gitea grant waits for the human, whose Approve still issues it
ok 409 - row 298: an out-of-scope Gitea grant waits for the human, whose Approve still issues it
---
duration_ms: 113.520375
type: 'test'
...
# Subtest: row 298: with no scope, a bad scope or an unreadable file, an in-scope-looking grant waits
ok 410 - row 298: with no scope, a bad scope or an unreadable file, an in-scope-looking grant waits
---
duration_ms: 141.998077
type: 'test'
...
# Subtest: row 298 (Q6): a chief-of-staff instance that is not launch.by never raises in scope
ok 411 - row 298 (Q6): a chief-of-staff instance that is not launch.by never raises in scope
---
duration_ms: 46.794692
type: 'test'
...
# Subtest: row 298 (Q5): a scope narrowed between the raise and the spend ends the grant scope-changed
ok 412 - row 298 (Q5): a scope narrowed between the raise and the spend ends the grant scope-changed
---
duration_ms: 66.726197
type: 'test'
...
# Subtest: row 298 (Q2): an in-scope host grant is spent with no Approve; ls never covers lsblk, nor a scope command extra arguments
ok 413 - row 298 (Q2): an in-scope host grant is spent with no Approve; ls never covers lsblk, nor a scope command extra arguments
---
duration_ms: 74.094012
type: 'test'
...
# Subtest: row 298 (Q5): a host scope narrowed before the spend ends scope-changed
ok 414 - row 298 (Q5): a host scope narrowed before the spend ends scope-changed
---
duration_ms: 67.348806
type: 'test'
...
# Subtest: row 298 Q4: missing scope evidence or a bad scope digest cannot authorize execution
ok 415 - row 298 Q4: missing scope evidence or a bad scope digest cannot authorize execution
---
duration_ms: 91.015488
type: 'test'
...
# Subtest: row 298 T4/T8: an in-scope host grant issues, records and revokes through the existing executor
ok 416 - row 298 T4/T8: an in-scope host grant issues, records and revokes through the existing executor
---
duration_ms: 75.481584
type: 'test'
...
# Subtest: row 298 T6: host enrollment stays open for human Approve even with both methods in scope
ok 417 - row 298 T6: host enrollment stays open for human Approve even with both methods in scope
---
duration_ms: 49.413956
type: 'test'
...
# Subtest: row 298: scope without an organization revision never closes automatically
ok 418 - row 298: scope without an organization revision never closes automatically
---
duration_ms: 47.033389
type: 'test'
...
# Subtest: REQ-WAIT-1: the broker hard waits are exactly the list, and match the business vocabulary
ok 419 - REQ-WAIT-1: the broker hard waits are exactly the list, and match the business vocabulary
---
duration_ms: 1.222736
type: 'test'
...
# Subtest: REQ-WAIT-2: a business granting a hard wait at either class is refused; the actions that left are grantable
ok 420 - REQ-WAIT-2: a business granting a hard wait at either class is refused; the actions that left are grantable
---
duration_ms: 19.429751
type: 'test'
...
# Subtest: REQ-DEC-2: every hard wait goes to the human, cited or not, and the arbiter cannot resolve it
ok 421 - REQ-DEC-2: every hard wait goes to the human, cited or not, and the arbiter cannot resolve it
---
duration_ms: 406.817837
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 422 - REQ-DEC-2: a gated raise citing the current spec goes to the arbiter for its domain; uncited, to the human
---
duration_ms: 164.534563
type: 'test'
...
# Subtest: REQ-DEC-2: an arbiter-approved cited gated decision authorizes the raiser, and the human cannot resolve it
ok 423 - REQ-DEC-2: an arbiter-approved cited gated decision authorizes the raiser, and the human cannot resolve it
---
duration_ms: 50.564437
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 424 - 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: 64.856637
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 425 - REQ-DEC-2: a stale or unconfirmed citation refuses without a decision; an arbiter raising its own goes to the human
---
duration_ms: 97.411789
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 426 - 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: 48.394996
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 427 - 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: 116.847836
type: 'test'
...
# Subtest: Q169: another role's cited revoke of the assistant, resolved by an arbiter, is refused
ok 428 - Q169: another role's cited revoke of the assistant, resolved by an arbiter, is refused
---
duration_ms: 63.180913
type: 'test'
...
# Subtest: Q169: a revoke of the assistant citing a decision the human resolved stops its thread run
ok 429 - Q169: a revoke of the assistant citing a decision the human resolved stops its thread run
---
duration_ms: 54.499453
type: 'test'
...
# Subtest: Q169: a cited revoke of a role not in END_PROTECTED still goes to the arbiter, and executes
ok 430 - Q169: a cited revoke of a role not in END_PROTECTED still goes to the arbiter, and executes
---
duration_ms: 54.50334
type: 'test'
...
# Subtest: Q169: a role granted role.revoke at either class still sends a revoke of the assistant to the human
ok 431 - Q169: a role granted role.revoke at either class still sends a revoke of the assistant to the human
---
duration_ms: 83.073035
type: 'test'
...
# Subtest: row 280: an occupied TCP port is attempted, refused, and retried with our sshd
ok 432 - row 280: an occupied TCP port is attempted, refused, and retried with our sshd
---
duration_ms: 88.670113
type: 'test'
...
# Subtest: row 280: every injected picker sample is unprivileged and outside the ephemeral range
ok 433 - row 280: every injected picker sample is unprivileged and outside the ephemeral range
---
duration_ms: 0.516384
type: 'test'
...
# Subtest: the executor tests need sshd, ssh, ssh-agent, ssh-add, ssh-keygen and setpriv: a missing one fails, never skips
ok 434 - the executor tests need sshd, ssh, ssh-agent, ssh-add, ssh-keygen and setpriv: a missing one fails, never skips
---
duration_ms: 0.174602
type: 'test'
...
# Subtest: T3: organization.set, limits.set and instances.set refuse hosts, and the writer never runs
ok 435 - T3: organization.set, limits.set and instances.set refuse hosts, and the writer never runs
---
duration_ms: 31.078589
type: 'test'
...
# Subtest: T4: the value check takes one unencrypted ed25519 key and nothing else
ok 436 - T4: the value check takes one unencrypted ed25519 key and nothing else
---
duration_ms: 172.679003
type: 'test'
...
# Subtest: T5 to T8: registry, grant, argv shape and allowlist refusals
ok 437 - T5 to T8: registry, grant, argv shape and allowlist refusals
---
duration_ms: 518.680272
type: 'test'
...
# Subtest: T9: under 1.7 every call needs a decision bound to its host, argv and stdin, spent once
ok 438 - T9: under 1.7 every call needs a decision bound to its host, argv and stdin, spent once
---
duration_ms: 295.802186
type: 'test'
...
# Subtest: T10, T11: argv reaches sudo unchanged after sudo -n --
ok 439 - T10, T11: argv reaches sudo unchanged after sudo -n --
---
duration_ms: 261.503665
type: 'test'
...
# Subtest: T12, T13: exit code passes through, the timeout kills the group, output is capped
ok 440 - T12, T13: exit code passes through, the timeout kills the group, output is capped
---
duration_ms: 1507.126074
type: 'test'
...
# Subtest: T14: a host key not in the registry refuses and nothing runs
ok 441 - T14: a host key not in the registry refuses and nothing runs
---
duration_ms: 172.994314
type: 'test'
...
# Subtest: G18: hosts.check with a wrong pin refuses host-key-mismatch and runs nothing on the host
ok 442 - G18: hosts.check with a wrong pin refuses host-key-mismatch and runs nothing on the host
---
duration_ms: 310.501083
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 443 - N3: a remote exit 255 that prints the pin refusal text is the command result, and an ssh failure keeps its message
---
duration_ms: 279.877026
type: 'test'
...
# Subtest: T15: ssh reads no config file and no user known_hosts
ok 444 - T15: ssh reads no config file and no user known_hosts
---
duration_ms: 260.311487
type: 'test'
...
# Subtest: T16, T17: key material in output or stdin refuses credential-leak, and no event holds it
ok 445 - T16, T17: key material in output or stdin refuses credential-leak, and no event holds it
---
duration_ms: 602.110132
type: 'test'
...
# Subtest: T18, T19, T20: one call at a time, no key in any argv or env, and nothing left after
ok 446 - T18, T19, T20: one call at a time, no key in any argv or env, and nothing left after
---
duration_ms: 4639.553302
type: 'test'
...
# Subtest: T21: revoke kills the call in flight, and the next call refuses
ok 447 - T21: revoke kills the call in flight, and the next call refuses
---
duration_ms: 267.60248
type: 'test'
...
# Subtest: T22: events carry host, address, user and argv in clear, and sizes and hashes only
ok 448 - T22: events carry host, address, user and argv in clear, and sizes and hashes only
---
duration_ms: 259.43847
type: 'test'
...
# Subtest: T24: no literal gitea and vikunja kind list outside vocabulary.mjs, and the credential use sites are known
ok 449 - T24: no literal gitea and vikunja kind list outside vocabulary.mjs, and the credential use sites are known
---
duration_ms: 17.611268
type: 'test'
...
# Subtest: T25: no role definition lists host.sudo while it is a hard wait
ok 450 - T25: no role definition lists host.sudo while it is a hard wait
---
duration_ms: 0.465282
type: 'test'
...
# Subtest: T27: the bus child dying takes ssh and ssh-agent with it
ok 451 - T27: the bus child dying takes ssh and ssh-agent with it
---
duration_ms: 311.282582
type: 'test'
...
# Subtest: T27: ssh-add -t drops the key from an agent the test keeps alive
ok 452 - T27: ssh-add -t drops the key from an agent the test keeps alive
---
duration_ms: 3545.325351
type: 'test'
...
# Subtest: N2: a hung ssh-add is killed at its limit or on abort, and nothing is left running
ok 453 - N2: a hung ssh-add is killed at its limit or on abort, and nothing is left running
---
duration_ms: 426.523785
type: 'test'
...
# Subtest: T27: the start sweep keeps a live bus dir and kills only a matching live process
ok 454 - T27: the start sweep keeps a live bus dir and kills only a matching live process
---
duration_ms: 26.378813
type: 'test'
...
# Subtest: T27: the bus start sweeps <configDir>/secrets/run before it listens, and a stray entry stops the start
ok 455 - T27: the bus start sweeps <configDir>/secrets/run before it listens, and a stray entry stops the start
---
duration_ms: 51.088468
type: 'test'
...
# Subtest: M3: host.run refuses host-not-granted unless the grant record has an approved, spent host grant
ok 456 - M3: host.run refuses host-not-granted unless the grant record has an approved, spent host grant
---
duration_ms: 138.877658
type: 'test'
...
# Subtest: M3: a host_grants record gives Credentials a store reference at start, and a restart reads its key
ok 457 - M3: a host_grants record gives Credentials a store reference at start, and a restart reads its key
---
duration_ms: 98.388253
type: 'test'
...
# Subtest: G16: the writer refuses each user, tag and key the design names, before any key file
ok 458 - G16: the writer refuses each user, tag and key the design names, before any key file
---
duration_ms: 1853.515978
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 459 - G16: from= comes from the host file, a privileged user skips the group and sudo checks, and the line is exact
---
duration_ms: 478.325789
type: 'test'
...
# Subtest: G16: list shows tagged lines only, and add and remove never touch a line outside the tag pattern
ok 460 - G16: list shows tagged lines only, and add and remove never touch a line outside the tag pattern
---
duration_ms: 235.31928
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 461 - G25: the writer refuses a symlinked dir or user file, a group-writable dir and an odd tmp, and writes 0644
---
duration_ms: 339.37864
type: 'test'
...
# Subtest: G16: mosaic-keys passes the three requests to the writer through sudo and refuses anything else without it
ok 462 - G16: mosaic-keys passes the three requests to the writer through sudo and refuses anything else without it
---
duration_ms: 70.819307
type: 'test'
...
# Subtest: E3: the sudoers line and the sshd drop-in are the design lines and parse
ok 463 - E3: the sudoers line and the sshd drop-in are the design lines and parse
---
duration_ms: 12.028271
type: 'test'
...
# Subtest: human proof binds CLI entry, process start and nonce; agents and incomplete ancestry refuse
ok 464 - human proof binds CLI entry, process start and nonce; agents and incomplete ancestry refuse
---
duration_ms: 1.369741
type: 'test'
...
# Subtest: process reader gets own kernel identity without exposing environment values
ok 465 - process reader gets own kernel identity without exposing environment values
---
duration_ms: 0.380374
type: 'test'
...
# Subtest: EACCES ancestor environments skip only markers; commands and registered launches still refuse
ok 466 - EACCES ancestor environments skip only markers; commands and registered launches still refuse
---
duration_ms: 0.543508
type: 'test'
...
# Subtest: real pid 1 remains inspectable when its environment is protected
ok 467 - real pid 1 remains inspectable when its environment is protected
---
duration_ms: 0.21486
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 468 - 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: 34.670868
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 469 - 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: 115.94885
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 470 - 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: 24.966669
type: 'test'
...
# Subtest: system Python is a resolved root-owned ELF, never a shim or home interpreter
ok 471 - system Python is a resolved root-owned ELF, never a shim or home interpreter
---
duration_ms: 1.914288
type: 'test'
...
# Subtest: real system interpreter is available and safely inspected
ok 472 - real system interpreter is available and safely inspected
---
duration_ms: 17.546963
type: 'test'
...
# Subtest: restart receipt appends actual replacement identity and refuses unsafe files
ok 473 - restart receipt appends actual replacement identity and refuses unsafe files
---
duration_ms: 2.77971
type: 'test'
...
# Subtest: activation gate compares fresh startup receipt to the current interpreter identity
ok 474 - activation gate compares fresh startup receipt to the current interpreter identity
---
duration_ms: 1.37678
type: 'test'
...
# Subtest: non-regular startup receipt refuses promptly without waiting on a FIFO peer
ok 475 - non-regular startup receipt refuses promptly without waiting on a FIFO peer
---
duration_ms: 28.287274
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 476 - 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: 36.144428
type: 'test'
...
# Subtest: checkLand refuses on the decision and the review
ok 477 - checkLand refuses on the decision and the review
---
duration_ms: 32.176564
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 478 - 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: 79.850403
type: 'test'
...
# Subtest: REQ-LAND-1: a within-role merge grant refuses not-authorized at the land
ok 479 - REQ-LAND-1: a within-role merge grant refuses not-authorized at the land
---
duration_ms: 21.205037
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 480 - 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: 24.154715
type: 'test'
...
# Subtest: a merge option with no first line refuses no-subject, as land-work does
ok 481 - a merge option with no first line refuses no-subject, as land-work does
---
duration_ms: 22.260557
type: 'test'
...
# Subtest: checkLand refuses with land-work's codes past the authority check, and a decision raised for refactor never lands
ok 482 - checkLand refuses with land-work's codes past the authority check, and a decision raised for refactor never lands
---
duration_ms: 56.874001
type: 'test'
...
# Subtest: a ticket outlives the run that asked, and recordLand checks the task again
ok 483 - a ticket outlives the run that asked, and recordLand checks the task again
---
duration_ms: 25.656401
type: 'test'
...
# Subtest: two tickets on one decision: the first recordLand lands, the second refuses decision-consumed and records nothing
ok 484 - two tickets on one decision: the first recordLand lands, the second refuses decision-consumed and records nothing
---
duration_ms: 26.535702
type: 'test'
...
# Subtest: landRefused files the code on the task, tells the role only with notify, and ends the ticket
ok 485 - landRefused files the code on the task, tells the role only with notify, and ends the ticket
---
duration_ms: 26.263244
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 486 - landHeld is true only for an approved, unspent cross-role merge decision this role raised for a task in this thread
---
duration_ms: 25.848676
type: 'test'
...
# Subtest: landHolders lists a merge decision exactly while landHeld is true for its non-thread instance, in decision order
ok 487 - landHolders lists a merge decision exactly while landHeld is true for its non-thread instance, in decision order
---
duration_ms: 37.506391
type: 'test'
...
# Subtest: landHolders leaves out a thread instance's decision, even one raised before its role became one
ok 488 - landHolders leaves out a thread instance's decision, even one raised before its role became one
---
duration_ms: 22.196409
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 489 - 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: 33.48402
type: 'test'
...
# Subtest: a landing run started after the resolution passes checkLand for its held decision before any message.receive, and lands it
ok 490 - a landing run started after the resolution passes checkLand for its held decision before any message.receive, and lands it
---
duration_ms: 26.570305
type: 'test'
...
# Subtest: the bus process answers landHolders and landRelease from their own lines, not as credentialStatus
ok 491 - the bus process answers landHolders and landRelease from their own lines, not as credentialStatus
---
duration_ms: 128.927129
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 492 - 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: 33.852471
type: 'test'
...
# Subtest: no run may write the action.allowed for git.merge.protected itself
ok 493 - no run may write the action.allowed for git.merge.protected itself
---
duration_ms: 17.275605
type: 'test'
...
# Subtest: a message to a stopped role sends launch.by one notice, and the result says so
ok 494 - a message to a stopped role sends launch.by one notice, and the result says so
---
duration_ms: 25.474114
type: 'test'
...
# Subtest: a message to a role outside launch.instances says so in its result and in the notice
ok 495 - a message to a role outside launch.instances says so in its result and in the notice
---
duration_ms: 15.031631
type: 'test'
...
# Subtest: a message to a running role sends no notice and its result is unchanged
ok 496 - a message to a running role sends no notice and its result is unchanged
---
duration_ms: 12.117634
type: 'test'
...
# Subtest: a re-route at a claim, a release and claim, and a broker restart send no second notice
ok 497 - a re-route at a claim, a release and claim, and a broker restart send no second notice
---
duration_ms: 19.610121
type: 'test'
...
# Subtest: a run launched but not yet claimed counts as no holder
ok 498 - a run launched but not yet claimed counts as no holder
---
duration_ms: 12.306908
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 499 - 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: 23.097687
type: 'test'
...
# Subtest: a business with no launch block tells nobody and says there is no launcher
ok 500 - a business with no launch block tells nobody and says there is no launcher
---
duration_ms: 10.923045
type: 'test'
...
# Subtest: the notice sender stays internal: no role is named _bus and no caller can send as it or to it
ok 501 - the notice sender stays internal: no role is named _bus and no caller can send as it or to it
---
duration_ms: 29.110169
type: 'test'
...
# Subtest: row 302 a run threadIdle released answers launcher-released on receive, state, read and send, logs each, and claims nothing again
ok 502 - row 302 a run threadIdle released answers launcher-released on receive, state, read and send, logs each, and claims nothing again
---
duration_ms: 40.334546
type: 'test'
...
# Subtest: row 302 with a run launcher-released, a run that lost its claim another way still answers not-holder
ok 503 - row 302 with a run launcher-released, a run that lost its claim another way still answers not-holder
---
duration_ms: 29.866146
type: 'test'
...
# Subtest: row 302 a run landRelease released answers launcher-released, and claims nothing again
ok 504 - row 302 a run landRelease released answers launcher-released, and claims nothing again
---
duration_ms: 29.785985
type: 'test'
...
# Subtest: C2-03b T6: the slot before any chief evidence, then the listed chief's live grant
ok 505 - C2-03b T6: the slot before any chief evidence, then the listed chief's live grant
---
duration_ms: 24.703862
type: 'test'
...
# Subtest: C2-03b T7: a chief revoked through grants.revoke or fired through instance.fire refuses, and the fallback stays ended
ok 506 - C2-03b T7: a chief revoked through grants.revoke or fired through instance.fire refuses, and the fallback stays ended
---
duration_ms: 270.39987
type: 'test'
...
# Subtest: C2-03b T7 choice checks: delisted, a fire under way and held each refuse; a rehire lists the chief again
ok 507 - C2-03b T7 choice checks: delisted, a fire under way and held each refuse; a rehire lists the chief again
---
duration_ms: 30.591815
type: 'test'
...
# Subtest: C2-03b T8: a chief grant on another project ends the fallback, and two listed chiefs refuse library-fetch-no-grant
ok 508 - C2-03b T8: a chief grant on another project ends the fallback, and two listed chiefs refuse library-fetch-no-grant
---
duration_ms: 28.873196
type: 'test'
...
# Subtest: C2-03b departure (sage-2928): with no chief entry, any Gitea grant evidence refuses
ok 509 - C2-03b departure (sage-2928): with no chief entry, any Gitea grant evidence refuses
---
duration_ms: 15.440101
type: 'test'
...
# library: {"event":"library-sync-refused","business":"acme","project":"books","code":"library-state-invalid"}
# Subtest: C2-03b T9 runtime: the chief's store file and user, then a real revoke that runs no git with the slot at 0000
not ok 510 - C2-03b T9 runtime: the chief's store file and user, then a real revoke that runs no git with the slot at 0000
---
duration_ms: 622.568721
type: 'test'
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row266/packages/bus/tests/library-credential.test.mjs:265:1'
failureType: 'testCodeFailure'
error: |-
Expected values to be strictly deep-equal:
+ actual - expected
Comparison {
+ code: 'library-sync-busy'
- code: 'library-fetch-no-grant'
}
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected:
code: 'library-fetch-no-grant'
actual:
error: 'library-sync-busy'
stack: |-
#requestLibrary (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row266/packages/bus/src/broker.mjs:5386:68)
async waitForActual (node:assert:615:5)
async strict.rejects (node:assert:738:25)
async TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row266/packages/bus/tests/library-credential.test.mjs:317:3)
async Test.run (node:internal/test_runner/test:1409:7)
async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
operator: 'rejects'
stack: |-
async TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row266/packages/bus/tests/library-credential.test.mjs:317:3)
async Test.run (node:internal/test_runner/test:1409:7)
async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
...
# Subtest: C2-03a library.sync: every agent, the tester and a reader are refused before the adapter runs
ok 511 - C2-03a library.sync: every agent, the tester and a reader are refused before the adapter runs
---
duration_ms: 18.449165
type: 'test'
...
# Subtest: C2-03a library.sync: the human fetches, accept passes through, and a held sync is a recorded refusal
ok 512 - C2-03a library.sync: the human fetches, accept passes through, and a held sync is a recorded refusal
---
duration_ms: 17.089184
type: 'test'
...
# Subtest: C2-03a library.sync: a LibraryError keeps its code and a host without sync is not configured
ok 513 - C2-03a library.sync: a LibraryError keeps its code and a host without sync is not configured
---
duration_ms: 23.889753
type: 'test'
...
# Subtest: C2-03a runtime: a librarySync from a boot config, with no function, is refused
ok 514 - C2-03a runtime: a librarySync from a boot config, with no function, is refused
---
duration_ms: 1.119977
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 515 - 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: 540.752392
type: 'test'
...
# Subtest: row 254 human-cli: library.sync outlasts the 5 s client default, and library.status does not
ok 516 - row 254 human-cli: library.sync outlasts the 5 s client default, and library.status does not
---
duration_ms: 6082.260509
type: 'test'
...
# Subtest: C2-04 M4: both verbs reject every agent before arguments or adapter access
ok 517 - C2-04 M4: both verbs reject every agent before arguments or adapter access
---
duration_ms: 35.977073
type: 'test'
...
# Subtest: C2-04 bus: human reads validate keys and return adapter results without path leakage
ok 518 - C2-04 bus: human reads validate keys and return adapter results without path leakage
---
duration_ms: 13.588419
type: 'test'
...
# Subtest: C2-04 socket: each async library verb resolves its result rather than serializing {}
ok 519 - C2-04 socket: each async library verb resolves its result rather than serializing {}
---
duration_ms: 67.314452
type: 'test'
...
# Subtest: C2-04 runtime: protectedRoots skips library but retains real code-root credential protection
ok 520 - C2-04 runtime: protectedRoots skips library but retains real code-root credential protection
---
duration_ms: 95.483921
type: 'test'
...
# Subtest: C2-04 runtime: unsafe existing mirror refuses boot and never publishes a socket
ok 521 - C2-04 runtime: unsafe existing mirror refuses boot and never publishes a socket
---
duration_ms: 23.925824
type: 'test'
...
# Subtest: C2-04 runtime: real library adapters reach the socket and lock waits leave other bus reads responsive
ok 522 - C2-04 runtime: real library adapters reach the socket and lock waits leave other bus reads responsive
---
duration_ms: 201.095456
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 523 - 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: 86.901195
type: 'test'
...
# Subtest: T20 fire: an instance already delisted still has its tokens revoked and the file is left alone
ok 524 - T20 fire: an instance already delisted still has its tokens revoked and the file is left alone
---
duration_ms: 49.69631
type: 'test'
...
# Subtest: T20 fire: with no entry in the running bus, a token on disk refuses and an empty store goes on
ok 525 - T20 fire: with no entry in the running bus, a token on disk refuses and an empty store goes on
---
duration_ms: 53.544037
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 526 - T20 delete: a revoke that fails keeps the file; one that succeeds clears the store, deletes, and names the tracker bot
---
duration_ms: 66.620475
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 527 - 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: 52.469558
type: 'test'
...
# Subtest: T21 delete: a write between the raise and the take makes the delete refuse revision-conflict before it revokes anything
ok 528 - T21 delete: a write between the raise and the take makes the delete refuse revision-conflict before it revokes anything
---
duration_ms: 55.03914
type: 'test'
...
# Subtest: row 281 T1 fire: a host.<id> or granted gitea file in the store refuses step B credential-revoke-failed, file unchanged
ok 529 - row 281 T1 fire: a host.<id> or granted gitea file in the store refuses step B credential-revoke-failed, file unchanged
---
duration_ms: 52.517185
type: 'test'
...
# Subtest: row 281 T1 start: a host grant record whose key file is gone starts and reads not-issued
ok 530 - row 281 T1 start: a host grant record whose key file is gone starts and reads not-issued
---
duration_ms: 48.907451
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 531 - 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: 36.180421
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 532 - 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: 20.223839
type: 'test'
...
# Subtest: row 194 D1.1 take: a request is taken once, closes once, and lifecycleRequests lists only what is not closed
ok 533 - row 194 D1.1 take: a request is taken once, closes once, and lifecycleRequests lists only what is not closed
---
duration_ms: 15.542162
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 534 - 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: 18.656859
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 535 - 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: 27.866547
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 536 - 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: 21.762857
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 537 - row 194 V3 terminate: claims revoked, open requests cancelled, bound runs named, taken requests listed; nothing at all answers not-held
---
duration_ms: 26.1708
type: 'test'
...
# Subtest: row 194 V3 terminate of a thread instance: the human ends every thread, the tester only its own
ok 538 - row 194 V3 terminate of a thread instance: the human ends every thread, the tester only its own
---
duration_ms: 19.923828
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 539 - 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: 28.97417
type: 'test'
...
# Subtest: row 194 V5: an open launch past its 60 s is not starting, as it can only close request-expired
ok 540 - row 194 V5: an open launch past its 60 s is not starting, as it can only close request-expired
---
duration_ms: 11.971608
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 541 - row 194 V5 after the take: lifecycleDelete re-checks running and starting, then commits through the writer with the human as actor
---
duration_ms: 21.654
type: 'test'
...
# Subtest: row 194 V5 retry: a retired name deletes again only after workspace-rename-failed, and that request commits nothing
ok 542 - row 194 V5 retry: a retired name deletes again only after workspace-rename-failed, and that request commits nothing
---
duration_ms: 18.416784
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 543 - 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: 129.194044
type: 'test'
...
# Subtest: REQ-LIMIT-3 limitLeaves finds every limit object and skips the agent numbers
ok 544 - REQ-LIMIT-3 limitLeaves finds every limit object and skips the agent numbers
---
duration_ms: 1.220371
type: 'test'
...
# Subtest: REQ-LIMIT-3 limitLeaves takes token limits at schema depth only, whatever their names
ok 545 - REQ-LIMIT-3 limitLeaves takes token limits at schema depth only, whatever their names
---
duration_ms: 0.203546
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 546 - REQ-LIMIT-3 with no check switched on a launch is allowed, a turn never stops, and every limit is not enforced
---
duration_ms: 13.624666
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 547 - REQ-LIMIT-3 a fixture check that refuses refuses the launch and stops the turn, logged with the limit and the count
---
duration_ms: 13.399507
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 548 - REQ-LIMIT-3 a report that omits a limit shows it not enforced; a counted entry and a reason come through
---
duration_ms: 11.835473
type: 'test'
...
# Subtest: REQ-LIMIT-4 each check gets the business, a copy of the limits, the subject, the records and the time
ok 549 - REQ-LIMIT-4 each check gets the business, a copy of the limits, the subject, the records and the time
---
duration_ms: 13.466489
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: a throw refuses, stops and fails the report, naming the check and the code
ok 550 - REQ-LIMIT-4 fail closed: a throw refuses, stops and fails the report, naming the check and the code
---
duration_ms: 12.315338
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 551 - 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: 14.747618
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 552 - REQ-LIMIT-4 fail closed: a check switched on but not loaded refuses, stops and fails every limit as not-loaded
---
duration_ms: 10.810657
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 553 - 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: 9.037438
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 554 - 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: 10.235159
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: an unreadable organization file refuses and stops with check null; the report throws
ok 555 - REQ-LIMIT-4 fail closed: an unreadable organization file refuses and stops with check null; the report throws
---
duration_ms: 9.921457
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: unreadable records refuse and stop with check null and fail the report
ok 556 - REQ-LIMIT-4 fail closed: unreadable records refuse and stop with check null and fail the report
---
duration_ms: 0.437506
type: 'test'
...
# Subtest: REQ-LIMIT-3 the shipped token-limit, through the real loader, counts known records only since the limit was set
ok 557 - REQ-LIMIT-3 the shipped token-limit, through the real loader, counts known records only since the limit was set
---
duration_ms: 15.357127
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 558 - 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: 10.536568
type: 'test'
...
# Subtest: REQ-LIMIT-3 core reaches limit checks only through the plug-in loader
ok 559 - REQ-LIMIT-3 core reaches limit checks only through the plug-in loader
---
duration_ms: 0.966303
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 560 - 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: 32.784899
type: 'test'
...
# Subtest: REQ-LIMIT-4 the stop also lands on state; a run with no stop ends without a limit
ok 561 - REQ-LIMIT-4 the stop also lands on state; a run with no stop ends without a limit
---
duration_ms: 32.678874
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 562 - REQ-LIMIT-4 fail closed: a mustStop throw or a malformed answer stops the run, naming the bus and the code
---
duration_ms: 78.445296
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 563 - REQ-LIMIT-4 a thread run at its limit is released with the reason, and its end record names the limit
---
duration_ms: 21.290056
type: 'test'
...
# Subtest: REQ-LIMIT-4 a broker with no limit checks configured never stops a run
ok 564 - REQ-LIMIT-4 a broker with no limit checks configured never stops a run
---
duration_ms: 13.97648
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":"9226e8d4-422c-4b25-8d70-38f4ef972f42","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":"0d36491f-6618-4266-98fc-43840d215068","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 565 - REQ-LIMIT-3 REQ-LIMIT-4 runtime: limits carries the token count, mayLaunch refuses at the limit, a reset moves since
---
duration_ms: 137.829242
type: 'test'
...
# Subtest: REQ-LIMIT-3 runtime: with no limit check switched on, the limit shows not enforced and every launch is allowed
ok 566 - REQ-LIMIT-3 runtime: with no limit check switched on, the limit shows not enforced and every launch is allowed
---
duration_ms: 34.631228
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 567 - 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: 47.504733
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 568 - REQ-LIMIT-4 runtime: with no usage source a turn is unknown, counts zero and stops nothing under a limit of 1
---
duration_ms: 47.264084
type: 'test'
...
# Subtest: REQ-LIMIT-3 runtime: switching a limit check on with plugins.set loads it without a launch or a turn
ok 569 - REQ-LIMIT-3 runtime: switching a limit check on with plugins.set loads it without a launch or a turn
---
duration_ms: 63.504556
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 570 - limits binds actor from human proof and rejects role, reader, a tester set and forged actor
---
duration_ms: 22.736242
type: 'test'
...
# Subtest: runtime wires verified human settings to the actual shared file writer and actor receipt
ok 571 - runtime wires verified human settings to the actual shared file writer and actor receipt
---
duration_ms: 97.042952
type: 'test'
...
# Subtest: uncertain organization receipts leave bus startup and reads alone but refuse writes until reconciled
ok 572 - uncertain organization receipts leave bus startup and reads alone but refuse writes until reconciled
---
duration_ms: 51.723692
type: 'test'
...
# Subtest: within-role sends cite an open gated launch decision without spending it or naming it in grants
ok 573 - within-role sends cite an open gated launch decision without spending it or naming it in grants
---
duration_ms: 27.533658
type: 'test'
...
# Subtest: missing and foreign-business citations refuse and roll back message and grant
ok 574 - missing and foreign-business citations refuse and roll back message and grant
---
duration_ms: 17.824271
type: 'test'
...
# Subtest: cross-role sends still need a matching resolved decision and consume it once
ok 575 - cross-role sends still need a matching resolved decision and consume it once
---
duration_ms: 21.8209
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 576 - trail on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester
---
duration_ms: 25.106465
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 577 - replies on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester
---
duration_ms: 23.557396
type: 'test'
...
# Subtest: trail on a decision keeps the decision and drops the user thread messages, their deliveries and their events
ok 578 - trail on a decision keeps the decision and drops the user thread messages, their deliveries and their events
---
duration_ms: 28.932726
type: 'test'
...
# Subtest: replies leaves out other users thread messages and still fills a page
ok 579 - replies leaves out other users thread messages and still fills a page
---
duration_ms: 173.719399
type: 'test'
...
# Subtest: messages in the business human and tester threads are not hidden (row 177 unchanged)
ok 580 - messages in the business human and tester threads are not hidden (row 177 unchanged)
---
duration_ms: 35.110811
type: 'test'
...
# Subtest: governance pin: the owner sees decisions, inbox entries, claims, tasks and project files, but not the user messages
ok 581 - governance pin: the owner sees decisions, inbox entries, claims, tasks and project files, but not the user messages
---
duration_ms: 91.546684
type: 'test'
...
# Subtest: messages pages all human messages newest first without writes; read state is history
ok 582 - messages pages all human messages newest first without writes; read state is history
---
duration_ms: 295.494026
type: 'test'
...
# Subtest: messages refuses role callers, invalid paging and cursors outside this human feed
ok 583 - messages refuses role callers, invalid paging and cursors outside this human feed
---
duration_ms: 23.287966
type: 'test'
...
# Subtest: views messages passes only its paging arguments through
ok 584 - views messages passes only its paging arguments through
---
duration_ms: 0.260129
type: 'test'
...
# Subtest: messages isolates businesses even with a valid foreign cursor
ok 585 - messages isolates businesses even with a valid foreign cursor
---
duration_ms: 16.92949
type: 'test'
...
# Subtest: the assistant sends to the user and to the chief of staff only
ok 586 - the assistant sends to the user and to the chief of staff only
---
duration_ms: 34.362936
type: 'test'
...
# Subtest: an assistant send to any other role, or to the tester, is refused and logged
ok 587 - an assistant send to any other role, or to the tester, is refused and logged
---
duration_ms: 29.702326
type: 'test'
...
# Subtest: only the user and the chief of staff may send to the assistant; the tester is refused by default
ok 588 - only the user and the chief of staff may send to the assistant; the tester is refused by default
---
duration_ms: 29.55999
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 589 - 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: 25.255965
type: 'test'
...
# Subtest: a sender-side list alone refuses a send to a role that has no list
ok 590 - a sender-side list alone refuses a send to a role that has no list
---
duration_ms: 27.406591
type: 'test'
...
# Subtest: a target-side list alone refuses a send from a role that has no list
ok 591 - a target-side list alone refuses a send from a role that has no list
---
duration_ms: 27.910159
type: 'test'
...
# Subtest: the sender list is checked before the target list
ok 592 - the sender list is checked before the target list
---
duration_ms: 25.596942
type: 'test'
...
# Subtest: roles without the field behave exactly as before
ok 593 - roles without the field behave exactly as before
---
duration_ms: 37.649237
type: 'test'
...
# Subtest: a business with no role definitions at all is unlimited
ok 594 - a business with no role definitions at all is unlimited
---
duration_ms: 30.870433
type: 'test'
...
# Subtest: a malformed messaging field refuses at boot
ok 595 - a malformed messaging field refuses at boot
---
duration_ms: 12.573301
type: 'test'
...
# Subtest: the assistant's review.request to a reviewer is refused and logged, even with an approved decision
ok 596 - the assistant's review.request to a reviewer is refused and logged, even with an approved decision
---
duration_ms: 29.642406
type: 'test'
...
# Subtest: a review.verdict to the assistant from a role outside its receiveFrom is refused and logged
ok 597 - a review.verdict to the assistant from a role outside its receiveFrom is refused and logged
---
duration_ms: 33.617984
type: 'test'
...
# Subtest: review requests and verdicts between roles without the field are unchanged
ok 598 - review requests and verdicts between roles without the field are unchanged
---
duration_ms: 25.984838
type: 'test'
...
# Subtest: 3f copy migrates to 3g preserving every old column/row, with an empty instance_names and null to_name
ok 599 - 3f copy migrates to 3g preserving every old column/row, with an empty instance_names and null to_name
---
duration_ms: 81.700408
type: 'test'
...
# Subtest: REQ-MSG-2: the chief of staff names an instance under its within-role grant, and the write is logged
ok 600 - REQ-MSG-2: the chief of staff names an instance under its within-role grant, and the write is logged
---
duration_ms: 23.845166
type: 'test'
...
# Subtest: REQ-MSG-2: the human names an instance through the CLI
ok 601 - REQ-MSG-2: the human names an instance through the CLI
---
duration_ms: 17.968056
type: 'test'
...
# Subtest: REQ-MSG-2: a role without the grant, or holding it cross-role, is refused not-authorized
ok 602 - REQ-MSG-2: a role without the grant, or holding it cross-role, is refused not-authorized
---
duration_ms: 18.855944
type: 'test'
...
# Subtest: REQ-MSG-2: a name is unique in the business and is never an instance key or a role name
ok 603 - REQ-MSG-2: a name is unique in the business and is never an instance key or a role name
---
duration_ms: 32.335677
type: 'test'
...
# Subtest: REQ-MSG-2: a send by name reaches the instance and records both; a send by instance key is unchanged
ok 604 - REQ-MSG-2: a send by name reaches the instance and records both; a send by instance key is unchanged
---
duration_ms: 27.656009
type: 'test'
...
# Subtest: REQ-MSG-2: an instance key beats a name that equals it, as when a later instance takes the key
ok 605 - REQ-MSG-2: an instance key beats a name that equals it, as when a later instance takes the key
---
duration_ms: 18.117539
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 606 - REQ-MSG-2: a role name beats a name that equals it, as when a later definition takes the word (sage-0590)
---
duration_ms: 19.577618
type: 'test'
...
# Subtest: proof receives actual peer, cap traffic never invokes helper and transient cap disconnects
ok 607 - proof receives actual peer, cap traffic never invokes helper and transient cap disconnects
---
duration_ms: 5.732829
type: 'test'
...
# Subtest: proof helper error and disconnect during verification never dispatch or bind
ok 608 - proof helper error and disconnect during verification never dispatch or bind
---
duration_ms: 1.327766
type: 'test'
...
# Subtest: Client receives explicit proof refusal codes without dispatch, not outcome-unknown
ok 609 - Client receives explicit proof refusal codes without dispatch, not outcome-unknown
---
duration_ms: 36.461845
type: 'test'
...
# Subtest: asynchronous proof calls release their transient session on success, failure and timeout
ok 610 - asynchronous proof calls release their transient session on success, failure and timeout
---
duration_ms: 27.999663
type: 'test'
...
# Subtest: T2 eight proof callers and a racing copier bind the exact accepted socket, which survives helper exit
ok 611 - T2 eight proof callers and a racing copier bind the exact accepted socket, which survives helper exit
---
duration_ms: 221.148381
type: 'test'
...
# Subtest: helper output and failures fail closed including unsafe gid
ok 612 - helper output and failures fail closed including unsafe gid
---
duration_ms: 1.581323
type: 'test'
...
# Subtest: helper timeout, capacity and shutdown refuse without leaving children
ok 613 - helper timeout, capacity and shutdown refuse without leaving children
---
duration_ms: 26.83641
type: 'test'
...
# Subtest: missing or non-regular peer helper refuses at construction before opening the bus
ok 614 - missing or non-regular peer helper refuses at construction before opening the bus
---
duration_ms: 0.24249
type: 'test'
...
# Subtest: shutdown waits for killed helper close before returning
ok 615 - shutdown waits for killed helper close before returning
---
duration_ms: 4.855613
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 616 - plugins and plugins.set refuse every non-human session and a forged actor, and pass only the patch with the verified actor
---
duration_ms: 23.488028
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 617 - 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: 105.774031
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 618 - 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: 49.911577
type: 'test'
...
# Subtest: principal binds kernel peer PID and uid, maps owner, and never takes identity or role from body
ok 619 - principal binds kernel peer PID and uid, maps owner, and never takes identity or role from body
---
duration_ms: 1.51659
type: 'test'
...
# Subtest: user requires its own nonce and full walk plus immediate same-tree Console parent
ok 620 - user requires its own nonce and full walk plus immediate same-tree Console parent
---
duration_ms: 0.436222
type: 'test'
...
# Subtest: tester deliberately admits agent parents but rejects managed runs and another nonce
ok 621 - tester deliberately admits agent parents but rejects managed runs and another nonce
---
duration_ms: 0.276796
type: 'test'
...
# Subtest: human leaf identity is reread after walking the parents
ok 622 - human leaf identity is reread after walking the parents
---
duration_ms: 0.165783
type: 'test'
...
# Subtest: console requires its own wrapper, nonce and serve parent, and a configured owner from the spawn env
ok 623 - console requires its own wrapper, nonce and serve parent, and a configured owner from the spawn env
---
duration_ms: 1.176194
type: 'test'
...
# Subtest: broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly
ok 624 - broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly
---
duration_ms: 172.376044
type: 'test'
...
# Subtest: startup token refusal returns safe code without value or partial listening broker
ok 625 - startup token refusal returns safe code without value or partial listening broker
---
duration_ms: 105.461545
type: 'test'
...
# Subtest: loaded fixture token is absent from socket replies and SQLite, including refusal evidence
ok 626 - loaded fixture token is absent from socket replies and SQLite, including refusal evidence
---
duration_ms: 142.589526
type: 'test'
...
# Subtest: killed broker leaves an explicit stale lock; another process cannot silently reclaim it
ok 627 - killed broker leaves an explicit stale lock; another process cannot silently reclaim it
---
duration_ms: 238.842374
type: 'test'
...
# Subtest: trusted host registers later launches; socket clients never have a registration verb
ok 628 - trusted host registers later launches; socket clients never have a registration verb
---
duration_ms: 149.028013
type: 'test'
...
# Subtest: REQ-LIMIT-4 the broker process answers the launcher's mayLaunch op with the limits' awaited decision
ok 629 - REQ-LIMIT-4 the broker process answers the launcher's mayLaunch op with the limits' awaited decision
---
duration_ms: 132.539575
type: 'test'
...
# Subtest: runtime excludes declared project roots even when host supplies no repoRoots
ok 630 - runtime excludes declared project roots even when host supplies no repoRoots
---
duration_ms: 106.204768
type: 'test'
...
# Subtest: a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it
ok 631 - a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it
---
duration_ms: 132.507293
type: 'test'
...
# Subtest: real runtime injects the coordinator, stops its workload and mirrors stable stop events across restart
ok 632 - real runtime injects the coordinator, stops its workload and mirrors stable stop events across restart
---
duration_ms: 165.642994
type: 'test'
...
# Subtest: invalid state still starts the control bus and human halt then resume repairs it
ok 633 - invalid state still starts the control bus and human halt then resume repairs it
---
duration_ms: 62.923583
type: 'test'
...
# Subtest: processing halt and resume extend only the socket timeout while ordinary status retains the explicit timeout
ok 634 - processing halt and resume extend only the socket timeout while ordinary status retains the explicit timeout
---
duration_ms: 182.112264
type: 'test'
...
# Subtest: a root halt aborts the active search-source signal before the normal web deadline
ok 635 - a root halt aborts the active search-source signal before the normal web deadline
---
duration_ms: 32.501409
type: 'test'
...
# Subtest: processing.halt refuses agent reader and tester before any transition
ok 636 - processing.halt refuses agent reader and tester before any transition
---
duration_ms: 21.78585
type: 'test'
...
# Subtest: processing.resume refuses agent reader and tester before any transition
ok 637 - processing.resume refuses agent reader and tester before any transition
---
duration_ms: 14.244352
type: 'test'
...
# Subtest: human halt and clear each have one event with verified actor; launch.restore cannot clear
ok 638 - human halt and clear each have one event with verified actor; launch.restore cannot clear
---
duration_ms: 16.572767
type: 'test'
...
# Subtest: all ordinary work verbs refuse before dispatch while pure reads remain available
ok 639 - all ordinary work verbs refuse before dispatch while pure reads remain available
---
duration_ms: 28.039198
type: 'test'
...
# Subtest: task web authorization and bind paths refuse before external work
ok 640 - task web authorization and bind paths refuse before external work
---
duration_ms: 14.590792
type: 'test'
...
# Subtest: recordEvent cannot forge processing.halt
ok 641 - recordEvent cannot forge processing.halt
---
duration_ms: 10.672356
type: 'test'
...
# Subtest: recordEvent cannot forge processing.resume
ok 642 - recordEvent cannot forge processing.resume
---
duration_ms: 10.734795
type: 'test'
...
# Subtest: recordEvent cannot forge processing.stop
ok 643 - recordEvent cannot forge processing.stop
---
duration_ms: 10.339015
type: 'test'
...
# Subtest: recordTask poll cannot forge a processing action through its kinds filter
ok 644 - recordTask poll cannot forge a processing action through its kinds filter
---
duration_ms: 10.500066
type: 'test'
...
# Subtest: recordTask self cannot forge a processing action through its kinds filter
ok 645 - recordTask self cannot forge a processing action through its kinds filter
---
duration_ms: 10.227057
type: 'test'
...
# Subtest: spec read remains a read but cannot release new write work after an await
ok 646 - spec read remains a read but cannot release new write work after an await
---
duration_ms: 15.145104
type: 'test'
...
# Subtest: the real socket awaits halt and resume beyond the ordinary idle deadline
ok 647 - the real socket awaits halt and resume beyond the ordinary idle deadline
---
duration_ms: 53.443012
type: 'test'
...
# Subtest: a malformed processing reader never silently admits agent work
ok 648 - a malformed processing reader never silently admits agent work
---
duration_ms: 16.146355
type: 'test'
...
# Subtest: halt refuses the newly landed host executor path before credentials or effects
ok 649 - halt refuses the newly landed host executor path before credentials or effects
---
duration_ms: 13.611307
type: 'test'
...
# Subtest: D1: committed write with a failed receipt refuses outcome-unknown without action.allowed
ok 650 - D1: committed write with a failed receipt refuses outcome-unknown without action.allowed
---
duration_ms: 20.858647
type: 'test'
...
# Subtest: D2: spec.read refuses without content if its role is released during the read
ok 651 - D2: spec.read refuses without content if its role is released during the read
---
duration_ms: 13.652886
type: 'test'
...
# Subtest: D3: spec.read secret check refuses flagged content without content
ok 652 - D3: spec.read secret check refuses flagged content without content
---
duration_ms: 13.550901
type: 'test'
...
# Subtest: D3: spec.read secret check refuses flagged subject without content
ok 653 - D3: spec.read secret check refuses flagged subject without content
---
duration_ms: 13.945494
type: 'test'
...
# Subtest: a human lists, opens and saves; the save is one commit by the business human
ok 654 - a human lists, opens and saves; the save is one commit by the business human
---
duration_ms: 106.762057
type: 'test'
...
# Subtest: an agent and a reader refuse every file verb and nothing is written
ok 655 - an agent and a reader refuse every file verb and nothing is written
---
duration_ms: 39.507443
type: 'test'
...
# Subtest: a stale base refuses stale-base and writes nothing
ok 656 - a stale base refuses stale-base and writes nothing
---
duration_ms: 64.632708
type: 'test'
...
# Subtest: paths outside the spec and docs refuse, as do unknown projects, missing files and odd arguments
ok 657 - paths outside the spec and docs refuse, as do unknown projects, missing files and odd arguments
---
duration_ms: 55.250626
type: 'test'
...
# Subtest: without a project adapter the file verbs refuse project-not-configured
ok 658 - without a project adapter the file verbs refuse project-not-configured
---
duration_ms: 26.279959
type: 'test'
...
# Subtest: on the socket a save may carry 1 MiB of text; every other request keeps the 64 KiB limit
ok 659 - on the socket a save may carry 1 MiB of text; every other request keeps the 64 KiB limit
---
duration_ms: 219.70816
type: 'test'
...
# Subtest: a request that names the save verb first and another verb last is refused at 64 KiB
ok 660 - a request that names the save verb first and another verb last is refused at 64 KiB
---
duration_ms: 57.635145
type: 'test'
...
# Subtest: two saves racing for one repository make one commit
ok 661 - two saves racing for one repository make one commit
---
duration_ms: 130.814831
type: 'test'
...
# Subtest: Broker keeps the sandbox client import closure: only the listed imports, no lazy project import
ok 662 - Broker keeps the sandbox client import closure: only the listed imports, no lazy project import
---
duration_ms: 1.891025
type: 'test'
...
# Subtest: without a trusted project adapter all three async paths refuse project-not-configured
ok 663 - without a trusted project adapter all three async paths refuse project-not-configured
---
duration_ms: 41.196663
type: 'test'
...
# Subtest: real startBroker injects the project adapter for socket reads and bound-author record writes
ok 664 - real startBroker injects the project adapter for socket reads and bound-author record writes
---
duration_ms: 185.535072
type: 'test'
...
# Subtest: a raise with no recorded push refuses no-push; a raise binds the latest push and shows it
ok 665 - a raise with no recorded push refuses no-push; a raise binds the latest push and shows it
---
duration_ms: 28.662701
type: 'test'
...
# Subtest: happy path: the fork is the upstream repo under the agent's own user, the destination is host-built
ok 666 - happy path: the fork is the upstream repo under the agent's own user, the destination is host-built
---
duration_ms: 22.765974
type: 'test'
...
# Subtest: a hard wait: no decision refuses, and a decision for another task refuses
ok 667 - a hard wait: no decision refuses, and a decision for another task refuses
---
duration_ms: 22.324138
type: 'test'
...
# Subtest: r4 B4: approve while the latest push is A, push B, publish refuses decision-mismatch
ok 668 - r4 B4: approve while the latest push is A, push B, publish refuses decision-mismatch
---
duration_ms: 44.720555
type: 'test'
...
# Subtest: grant and fork refusals
ok 669 - grant and fork refusals
---
duration_ms: 40.212079
type: 'test'
...
# Subtest: remote-not-fork, compared without case, and remote-host-mismatch, at push
ok 670 - remote-not-fork, compared without case, and remote-host-mismatch, at push
---
duration_ms: 79.960236
type: 'test'
...
# Subtest: two agents granted one project each get their own fork
ok 671 - two agents granted one project each get their own fork
---
duration_ms: 40.8685
type: 'test'
...
# Subtest: the request cannot name the fork, the user or the destination
ok 672 - the request cannot name the fork, the user or the destination
---
duration_ms: 18.507157
type: 'test'
...
# Subtest: one decision, one open publish: a second ticket refuses publish-busy, whatever its branch
ok 673 - one decision, one open publish: a second ticket refuses publish-busy, whatever its branch
---
duration_ms: 46.078767
type: 'test'
...
# Subtest: publishRefused files the code on the task's trail and drops the ticket
ok 674 - publishRefused files the code on the task's trail and drops the ticket
---
duration_ms: 20.279165
type: 'test'
...
# Subtest: git.push.remote is in neither ROUTED list and no shipped role grants it
ok 675 - git.push.remote is in neither ROUTED list and no shipped role grants it
---
duration_ms: 0.687391
type: 'test'
...
# Subtest: runtime: withGitea keys from the open ticket only, and the store root is the organization dir
ok 676 - runtime: withGitea keys from the open ticket only, and the store root is the organization dir
---
duration_ms: 94.015724
type: 'test'
...
# Subtest: the bus process answers the publish ops from their own lines, not launch-op-refused
ok 677 - the bus process answers the publish ops from their own lines, not launch-op-refused
---
duration_ms: 135.388357
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 678 - T14 a create goes live with no restart: the new instance binds at once and the answer says restart false
---
duration_ms: 69.092679
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 679 - T14 every committed verb reloads once, limits.set, routes.set, plugins.set and veto.set included, and a refused one does not
---
duration_ms: 77.035773
type: 'test'
...
# Subtest: T14 a definition change on a running instance refuses instance-running; a vars change still goes live
ok 680 - T14 a definition change on a running instance refuses instance-running; a vars change still goes live
---
duration_ms: 59.955521
type: 'test'
...
# Subtest: T14 a file whose credential references differ from the boot copy is not reloaded and the write answers restart true
ok 681 - T14 a file whose credential references differ from the boot copy is not reloaded and the write answers restart true
---
duration_ms: 46.343193
type: 'test'
...
# Subtest: T14 a date-only change to a credential reference still reloads: row 199 issue rewrites the date outside the reload
ok 682 - T14 a date-only change to a credential reference still reloads: row 199 issue rewrites the date outside the reload
---
duration_ms: 46.58705
type: 'test'
...
# Subtest: T19 a credentialed create answers restart true; issue works only after a restart, and a later vars change goes live
ok 683 - T19 a credentialed create answers restart true; issue works only after a restart, and a later vars change goes live
---
duration_ms: 91.758545
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 684 - 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: 96.846001
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 685 - T14 a file whose project root differs from the boot copy is not reloaded, because the Credentials store protects the boot roots
---
duration_ms: 43.295493
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 686 - T14 a file whose library mapping differs from the boot copy is not reloaded, because the mirror is ensured at start
---
duration_ms: 178.914558
type: 'test'
...
# Subtest: T14 reloadBusiness refuses an unknown business, a changed human and a document the boot check refuses
ok 687 - T14 reloadBusiness refuses an unknown business, a changed human and a document the boot check refuses
---
duration_ms: 9.822847
type: 'test'
...
# Subtest: a reply is listed for human and reader sessions, and its delivery rows are unchanged
ok 688 - a reply is listed for human and reader sessions, and its delivery rows are unchanged
---
duration_ms: 34.759289
type: 'test'
...
# Subtest: the reply still reaches the human message.receive (mosaic talk) after the Console showed it
ok 689 - the reply still reaches the human message.receive (mosaic talk) after the Console showed it
---
duration_ms: 19.574345
type: 'test'
...
# Subtest: a message with no reply gives an empty list
ok 690 - a message with no reply gives an empty list
---
duration_ms: 15.148443
type: 'test'
...
# Subtest: replies come oldest first and stop at REPLIES
ok 691 - replies come oldest first and stop at REPLIES
---
duration_ms: 73.213699
type: 'test'
...
# Subtest: an id that names no message in the business refuses message-not-found, and the refusal is recorded
ok 692 - an id that names no message in the business refuses message-not-found, and the refusal is recorded
---
duration_ms: 26.811927
type: 'test'
...
# Subtest: strict arguments; a role session gets human-required
ok 693 - strict arguments; a role session gets human-required
---
duration_ms: 32.167961
type: 'test'
...
# Subtest: views passes replies through as one call with the id
ok 694 - views passes replies through as one call with the id
---
duration_ms: 0.197556
type: 'test'
...
# Subtest: requirements returns the committed list to a holding role session, and no one else
ok 695 - requirements returns the committed list to a holding role session, and no one else
---
duration_ms: 27.051319
type: 'test'
...
# Subtest: the PM's prd.approve with no task, when no id fits, reaches the human's Inbox
ok 696 - the PM's prd.approve with no task, when no id fits, reaches the human's Inbox
---
duration_ms: 15.369827
type: 'test'
...
# Subtest: the PM's non-blocking role.revoke with no task reaches the human's Inbox
ok 697 - the PM's non-blocking role.revoke with no task reaches the human's Inbox
---
duration_ms: 14.883303
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 698 - a push is recorded as the action.allowed for git.push.working on the task, and only the host records one
---
duration_ms: 30.739466
type: 'test'
...
# Subtest: review.request names the latest pushed commit and sends the reviewer a REVIEW-REQUEST
ok 699 - review.request names the latest pushed commit and sends the reviewer a REVIEW-REQUEST
---
duration_ms: 21.586128
type: 'test'
...
# Subtest: review.request says which run holds the reviewer role, or null, and a null request waits for a claim
ok 700 - review.request says which run holds the reviewer role, or null, and a null request waits for a claim
---
duration_ms: 24.041865
type: 'test'
...
# Subtest: review.request refuses a commit that isn't the latest push, a non-reviewer and a role without the action
ok 701 - review.request refuses a commit that isn't the latest push, a non-reviewer and a role without the action
---
duration_ms: 32.548063
type: 'test'
...
# Subtest: reviewFetch answers only the addressed reviewer, for the request it cites
ok 702 - reviewFetch answers only the addressed reviewer, for the request it cites
---
duration_ms: 21.361547
type: 'test'
...
# Subtest: review.verdict answers one request once, to the role that asked
ok 703 - review.verdict answers one request once, to the role that asked
---
duration_ms: 24.525831
type: 'test'
...
# Subtest: task.close on a pushed task needs an approve verdict for the latest push
ok 704 - task.close on a pushed task needs an approve verdict for the latest push
---
duration_ms: 34.871834
type: 'test'
...
# Subtest: a refusal the host decided is filed on the task it names, and only a task ref counts
ok 705 - a refusal the host decided is filed on the task it names, and only a task ref counts
---
duration_ms: 20.206722
type: 'test'
...
# Subtest: row 306 T1: a run the timer sweep ended answers thread-revoked on every claim-needing call, logged, and its claim still refuses run-revoked
ok 706 - row 306 T1: a run the timer sweep ended answers thread-revoked on every claim-needing call, logged, and its claim still refuses run-revoked
---
duration_ms: 34.223127
type: 'test'
...
# Subtest: row 306 T1: a user's request and access.reload end the run the same way, and it answers thread-revoked
ok 707 - row 306 T1: a user's request and access.reload end the run the same way, and it answers thread-revoked
---
duration_ms: 48.141952
type: 'test'
...
# Subtest: row 306 T2: after the sweep, a run the human stopped and a run the limit stop ended still answer not-holder
ok 708 - row 306 T2: after the sweep, a run the human stopped and a run the limit stop ended still answer not-holder
---
duration_ms: 30.95598
type: 'test'
...
# Subtest: C2-10c room.read carries exactly the thread check and current file last
ok 709 - C2-10c room.read carries exactly the thread check and current file last
---
duration_ms: 67.271158
type: 'test'
...
# Subtest: C2-10c check hydration preserves unchecked rows and one broadcast with two addressees
ok 710 - C2-10c check hydration preserves unchecked rows and one broadcast with two addressees
---
duration_ms: 15.071326
type: 'test'
...
# Subtest: room.open sorts all threaded instances, creates defaults, and reuses caller-owned threads
ok 711 - room.open sorts all threaded instances, creates defaults, and reuses caller-owned threads
---
duration_ms: 24.217943
type: 'test'
...
# Subtest: room.open preflights instance collisions atomically
ok 712 - room.open preflights instance collisions atomically
---
duration_ms: 15.476487
type: 'test'
...
# Subtest: room.open preflights owner collisions atomically
ok 713 - room.open preflights owner collisions atomically
---
duration_ms: 14.32546
type: 'test'
...
# Subtest: room verbs require the human, and none is a tester verb
ok 714 - room verbs require the human, and none is a tester verb
---
duration_ms: 19.084928
type: 'test'
...
# Subtest: room verbs refuse missing projects and zero member businesses
ok 715 - room verbs refuse missing projects and zero member businesses
---
duration_ms: 28.187382
type: 'test'
...
# Subtest: send/read refuse a missing canonical member without effects
ok 716 - send/read refuse a missing canonical member without effects
---
duration_ms: 15.329688
type: 'test'
...
# Subtest: send/read refuse a foreign-owner canonical member without effects
ok 717 - send/read refuse a foreign-owner canonical member without effects
---
duration_ms: 16.296985
type: 'test'
...
# Subtest: send/read refuse a wrong-instance canonical member without effects
ok 718 - send/read refuse a wrong-instance canonical member without effects
---
duration_ms: 19.683256
type: 'test'
...
# Subtest: room.send targets a key, broadcasts without tags, and preserves original text and ordinary route/input rows
ok 719 - room.send targets a key, broadcasts without tags, and preserves original text and ordinary route/input rows
---
duration_ms: 18.196688
type: 'test'
...
# Subtest: current display names and repeated tags resolve once; a replaced display name is unknown
ok 720 - current display names and repeated tags resolve once; a replaced display name is unknown
---
duration_ms: 19.15483
type: 'test'
...
# Subtest: a legacy name colliding with another member key is ambiguous; its own key resolves once
ok 721 - a legacy name colliding with another member key is ambiguous; its own key resolves once
---
duration_ms: 17.9926
type: 'test'
...
# Subtest: unknown or non-member addressees and tags-only bodies leave no message effects
ok 722 - unknown or non-member addressees and tags-only bodies leave no message effects
---
duration_ms: 19.838786
type: 'test'
...
# Subtest: messaging denial on the last target rolls back the entire broadcast; allowed subset still works
ok 723 - messaging denial on the last target rolls back the entire broadcast; allowed subset still works
---
duration_ms: 15.126027
type: 'test'
...
# Subtest: a clearing last member fences the whole send; another active target still accepts
ok 724 - a clearing last member fences the whole send; another active target still accepts
---
duration_ms: 19.440099
type: 'test'
...
# Subtest: room.read groups one send, pages by the last grouped id, and rejects foreign or absent cursors
ok 725 - room.read groups one send, pages by the last grouped id, and rejects foreign or absent cursors
---
duration_ms: 29.876474
type: 'test'
...
# Subtest: room.read keeps identical sends at the same timestamp separate and includes every session
ok 726 - room.read keeps identical sends at the same timestamp separate and includes every session
---
duration_ms: 29.869509
type: 'test'
...
# Subtest: room.read defaults and caps the number of merged entries, not recipient rows
ok 727 - room.read defaults and caps the number of merged entries, not recipient rows
---
duration_ms: 471.442399
type: 'test'
...
# Subtest: room.read includes an agent reply with its thread and instance without merging it with human rows
ok 728 - room.read includes an agent reply with its thread and instance without merging it with human rows
---
duration_ms: 21.657481
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 729 - 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: 34.190334
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 730 - 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: 21.705997
type: 'test'
...
# Subtest: row 65 runtime: harnessLevels answers each module in the tree, and null for a name with no module
ok 731 - row 65 runtime: harnessLevels answers each module in the tree, and null for a name with no module
---
duration_ms: 41.528967
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 732 - 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: 81.288479
type: 'test'
...
# Subtest: v3b prototype refusals, views and append-only mutations
ok 733 - v3b prototype refusals, views and append-only mutations
---
duration_ms: 85.951235
type: 'test'
...
# Subtest: T4 D7: a clear of a held default session fences it, drains at the next receive, retires at the exit proof and moves the default
ok 734 - T4 D7: a clear of a held default session fences it, drains at the next receive, retires at the exit proof and moves the default
---
duration_ms: 43.210695
type: 'test'
...
# Subtest: T4 D7: an unheld session drains at accept, its proof is run null, and a non-default clear leaves the default
ok 735 - T4 D7: an unheld session drains at accept, its proof is run null, and a non-default clear leaves the default
---
duration_ms: 18.164094
type: 'test'
...
# Subtest: T4 D7: a run that ends before its next receive drains at its end, with its generation
ok 736 - T4 D7: a run that ends before its next receive drains at its end, with its generation
---
duration_ms: 17.255503
type: 'test'
...
# Subtest: T4 D7: a run whose turn is running (delivered, unread) stays clearing; uncertain is recorded once and nothing more
ok 737 - T4 D7: a run whose turn is running (delivered, unread) stays clearing; uncertain is recorded once and nothing more
---
duration_ms: 25.815356
type: 'test'
...
# Subtest: T4 D7 B1: undelivered inputs are cancelled with receipts at accept, never delivered to the successor, and a routed reply is cancelled at arrival
ok 738 - T4 D7 B1: undelivered inputs are cancelled with receipts at accept, never delivered to the successor, and a routed reply is cancelled at arrival
---
duration_ms: 30.221403
type: 'test'
...
# Subtest: T4 D7: repeat, conflict, a second op, a stale revision, confirm and a halt
ok 739 - T4 D7: repeat, conflict, a second op, a stale revision, confirm and a halt
---
duration_ms: 27.399776
type: 'test'
...
# Subtest: T4 Q4: the successor takes <old>-N, the next N free, and a bound name stays taken
ok 740 - T4 Q4: the successor takes <old>-N, the next N free, and a bound name stays taken
---
duration_ms: 21.519458
type: 'test'
...
# Subtest: T4 D8: the successor start is held, refused or started, each report on its own counter
ok 741 - T4 D8: the successor start is held, refused or started, each report on its own counter
---
duration_ms: 21.454397
type: 'test'
...
# Subtest: T4 D7 N4: a halt at retirement waits and writes nothing; retirement goes once processing resumes
ok 742 - T4 D7 N4: a halt at retirement waits and writes nothing; retirement goes once processing resumes
---
duration_ms: 17.009235
type: 'test'
...
# Subtest: T4 sage-2828: a cancel before retirement makes the session active again, keeps the claim and the cancelled messages, and never makes the successor
ok 743 - T4 sage-2828: a cancel before retirement makes the session active again, keeps the claim and the cancelled messages, and never makes the successor
---
duration_ms: 25.74645
type: 'test'
...
# Subtest: T4 sage-2828 sage-2830: a cancel after retirement ends the startup only, and a later thread-only send makes the successor pending as new input
ok 744 - T4 sage-2828 sage-2830: a cancel after retirement ends the startup only, and a later thread-only send makes the successor pending as new input
---
duration_ms: 20.200503
type: 'test'
...
# Subtest: T4 N4: a user's thread whose grant is gone by retirement ends the clear failed, writes no successor, and leaves the session as it was
ok 745 - T4 N4: a user's thread whose grant is gone by retirement ends the clear failed, writes no successor, and leaves the session as it was
---
duration_ms: 20.364557
type: 'test'
...
# Subtest: T4 N4: a user's thread whose grant is live at retirement retires the session and makes its successor
ok 746 - T4 N4: a user's thread whose grant is live at retirement retires the session and makes its successor
---
duration_ms: 19.21061
type: 'test'
...
# Subtest: T4 sage-2828: a cancel after the successor started refuses session-clear-complete
ok 747 - T4 sage-2828: a cancel after the successor started refuses session-clear-complete
---
duration_ms: 18.066825
type: 'test'
...
# Subtest: T4 B2: a run bound to a clearing session refuses its claim, and claims again once the clear is cancelled
ok 748 - T4 B2: a run bound to a clearing session refuses its claim, and claims again once the clear is cancelled
---
duration_ms: 19.658333
type: 'test'
...
# Subtest: T4 mos-1325: the tester clears its own thread; its clear, cancel and operation on a human-owned thread refuse thread-not-owned and write nothing
ok 749 - T4 mos-1325: the tester clears its own thread; its clear, cancel and operation on a human-owned thread refuse thread-not-owned and write nothing
---
duration_ms: 23.820375
type: 'test'
...
# Subtest: T4 schema: session_ops and message_cancels are append-only, and a second open clear of a session is refused below the broker
ok 750 - T4 schema: session_ops and message_cancels are append-only, and a second open clear of a session is refused below the broker
---
duration_ms: 18.143588
type: 'test'
...
# Subtest: T4 schema: a 3m store migrates to 3n, session_ops and message_cancels are new and empty, and every other row stays as it was
ok 751 - T4 schema: a 3m store migrates to 3n, session_ops and message_cancels are new and empty, and every other row stays as it was
---
duration_ms: 87.875417
type: 'test'
...
# Subtest: T4 schema: the 3m engine refuses a 3n store, migrating or not, and leaves it as it was
ok 752 - T4 schema: the 3m engine refuses a 3n store, migrating or not, and leaves it as it was
---
duration_ms: 161.59607
type: 'test'
...
# Subtest: session.list rows carry the reader count for each session, with its store identity
ok 753 - session.list rows carry the reader count for each session, with its store identity
---
duration_ms: 19.271694
type: 'test'
...
# Subtest: a legacy session is asked for with legacy true
ok 754 - a legacy session is asked for with legacy true
---
duration_ms: 15.638443
type: 'test'
...
# Subtest: without a reader the count is unknown, never 0; a reader that throws is store-unreadable
ok 755 - without a reader the count is unknown, never 0; a reader that throws is store-unreadable
---
duration_ms: 23.904669
type: 'test'
...
# Subtest: compactions must be a function
ok 756 - compactions must be a function
---
duration_ms: 7.753232
type: 'test'
...
# Subtest: T1 REQ-ROLE-2: two sessions of one thread keep their own history, delivery and replies
ok 757 - T1 REQ-ROLE-2: two sessions of one thread keep their own history, delivery and replies
---
duration_ms: 43.695067
type: 'test'
...
# Subtest: T2 REQ-ROLE-2: one holder per session, generations count its claims, and a sibling session's message never reaches the other holder
ok 758 - T2 REQ-ROLE-2: one holder per session, generations count its claims, and a sibling session's message never reaches the other holder
---
duration_ms: 36.452154
type: 'test'
...
# Subtest: T2 sage-2257: a released or revoked run's retired generation refuses its approval, delivery and read, and writes nothing
ok 759 - T2 sage-2257: a released or revoked run's retired generation refuses its approval, delivery and read, and writes nothing
---
duration_ms: 41.908414
type: 'test'
...
# Subtest: session.create is idempotent on its op, refuses a reused op or a taken name, and reaches only the owner's threads
ok 760 - session.create is idempotent on its op, refuses a reused op or a taken name, and reaches only the owner's threads
---
duration_ms: 29.539466
type: 'test'
...
# Subtest: the 3l triggers keep sessions in their thread and session ids apart from thread ids
ok 761 - the 3l triggers keep sessions in their thread and session ids apart from thread ids
---
duration_ms: 70.0768
type: 'test'
...
# Subtest: T7: a 3k store migrates to 3l, each thread's default session has the thread's id, and old rows keep their seqs
ok 762 - T7: a 3k store migrates to 3l, each thread's default session has the thread's id, and old rows keep their seqs
---
duration_ms: 97.459051
type: 'test'
...
# Subtest: T7 D9: the 3k engine refuses a 3l store, migrating or not, and leaves it as it was
ok 763 - T7 D9: the 3k engine refuses a 3l store, migrating or not, and leaves it as it was
---
duration_ms: 150.151464
type: 'test'
...
# Subtest: gated approval authorizes once, survives store reopen, and fresh approval works
ok 764 - gated approval authorizes once, survives store reopen, and fresh approval works
---
duration_ms: 29.047022
type: 'test'
...
# Subtest: another run of the same instance consumes an approval once; a failed check leaves it usable
ok 765 - another run of the same instance consumes an approval once; a failed check leaves it usable
---
duration_ms: 18.712911
type: 'test'
...
# Subtest: two scheduled callers have exactly one grant and one consumed refusal
ok 766 - two scheduled callers have exactly one grant and one consumed refusal
---
duration_ms: 14.5129
type: 'test'
...
# Subtest: failed commit rolls consumption back; cross-role consumes and within-role stays reusable
ok 767 - failed commit rolls consumption back; cross-role consumes and within-role stays reusable
---
duration_ms: 27.89702
type: 'test'
...
# Subtest: class drift gated to cross-role refuses before consumption
ok 768 - class drift gated to cross-role refuses before consumption
---
duration_ms: 19.463902
type: 'test'
...
# Subtest: class drift cross-role to gated refuses before consumption
ok 769 - class drift cross-role to gated refuses before consumption
---
duration_ms: 20.767522
type: 'test'
...
# Subtest: class drift gated to within-role refuses before consumption
ok 770 - class drift gated to within-role refuses before consumption
---
duration_ms: 19.018766
type: 'test'
...
# Subtest: class drift cross-role to within-role refuses before consumption
ok 771 - class drift cross-role to within-role refuses before consumption
---
duration_ms: 20.801277
type: 'test'
...
# Subtest: class drift within-role to gated refuses before consumption
ok 772 - class drift within-role to gated refuses before consumption
---
duration_ms: 17.985263
type: 'test'
...
# Subtest: class drift within-role to cross-role refuses before consumption
ok 773 - class drift within-role to cross-role refuses before consumption
---
duration_ms: 17.76233
type: 'test'
...
# Subtest: message.send consumes approval and prevents a later send or authorize
ok 774 - message.send consumes approval and prevents a later send or authorize
---
duration_ms: 20.893498
type: 'test'
...
# Subtest: role.revoke consumes approval and prevents a later revoke or authorize
ok 775 - role.revoke consumes approval and prevents a later revoke or authorize
---
duration_ms: 23.141764
type: 'test'
...
# Subtest: 3e copy migrates through 3f to 3g preserving every old column/row and adding null spec citations
ok 776 - 3e copy migrates through 3f to 3g preserving every old column/row and adding null spec citations
---
duration_ms: 95.453233
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 777 - a human spec save sends one notice to each pm and cto, naming the commit, and each commit sends its own
---
duration_ms: 116.105473
type: 'test'
...
# Subtest: no notice for a docs save, an agent record commit, a git commit outside the Console, or a refused save
ok 778 - no notice for a docs save, an agent record commit, a git commit outside the Console, or a refused save
---
duration_ms: 134.55441
type: 'test'
...
# Subtest: a notice to a role no run holds waits for a claim, and launches nobody and tells nobody
ok 779 - a notice to a role no run holds waits for a claim, and launches nobody and tells nobody
---
duration_ms: 70.097602
type: 'test'
...
# Subtest: a business without a pm or a cto saves the spec and sends nothing
ok 780 - a business without a pm or a cto saves the spec and sends nothing
---
duration_ms: 58.270335
type: 'test'
...
# Subtest: a notice that cannot be stored answers outcome-unknown, and the commit stands
ok 781 - a notice that cannot be stored answers outcome-unknown, and the commit stands
---
duration_ms: 67.175691
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 782 - 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: 75.931085
type: 'test'
...
# Subtest: with no thread a BLOCK still reaches the chief of staff, and the relay to the assistant is refused
ok 783 - with no thread a BLOCK still reaches the chief of staff, and the relay to the assistant is refused
---
duration_ms: 70.273992
type: 'test'
...
# Subtest: within the notice's project the relay lands in the user's most recently opened thread
ok 784 - within the notice's project the relay lands in the user's most recently opened thread
---
duration_ms: 73.053966
type: 'test'
...
# Subtest: a more recently opened thread in another project does not take the relay
ok 785 - a more recently opened thread in another project does not take the relay
---
duration_ms: 73.165572
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 786 - 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: 78.442678
type: 'test'
...
# Subtest: a role cannot forge a spec notice: its text opens neither a BLOCK nor the assistant's thread
ok 787 - a role cannot forge a spec notice: its text opens neither a BLOCK nor the assistant's thread
---
duration_ms: 70.424488
type: 'test'
...
# Subtest: the bus receives nothing: a reply to a notice addressed to _bus is refused
ok 788 - the bus receives nothing: a reply to a notice addressed to _bus is refused
---
duration_ms: 68.530865
type: 'test'
...
# Subtest: real socket awaits spec reads, record writes and cited raises; other requests still return normally
ok 789 - real socket awaits spec reads, record writes and cited raises; other requests still return normally
---
duration_ms: 109.917879
type: 'test'
...
# Subtest: real socket preserves asynchronous refusal codes and disconnects its transient proof
ok 790 - real socket preserves asynchronous refusal codes and disconnects its transient proof
---
duration_ms: 62.127936
type: 'test'
...
# Subtest: two real socket writes to one repository yield one commit and one project-busy refusal
ok 791 - two real socket writes to one repository yield one commit and one project-busy refusal
---
duration_ms: 61.32154
type: 'test'
...
# Subtest: client disconnect during await tolerates late reply
ok 792 - client disconnect during await tolerates late reply
---
duration_ms: 58.813712
type: 'test'
...
# Subtest: client disconnect during await tolerates late refusal
ok 793 - client disconnect during await tolerates late refusal
---
duration_ms: 43.462975
type: 'test'
...
# Subtest: N-a: slow admitted record.write returns its committed result after the idle deadline
ok 794 - N-a: slow admitted record.write returns its committed result after the idle deadline
---
duration_ms: 211.935627
type: 'test'
...
# Subtest: current citation is recorded; docs commits do not stale it and a new spec never reopens settlement
ok 795 - current citation is recorded; docs commits do not stale it and a new spec never reopens settlement
---
duration_ms: 100.837402
type: 'test'
...
# Subtest: stale, unconfirmed, missing and partial spec citations refuse without inserting a decision
ok 796 - stale, unconfirmed, missing and partial spec citations refuse without inserting a decision
---
duration_ms: 94.479302
type: 'test'
...
# Subtest: uncited raises retain their synchronous path and spec read is available to any held role in its business
ok 797 - uncited raises retain their synchronous path and spec read is available to any held role in its business
---
duration_ms: 42.608834
type: 'test'
...
# Subtest: record writes bind the session author, require authority and refuse spec and impersonation paths
ok 798 - record writes bind the session author, require authority and refuse spec and impersonation paths
---
duration_ms: 48.796142
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 799 - 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: 31.30598
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 800 - 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: 26.875638
type: 'test'
...
# Subtest: REQ-COS-1: a pm without message.send is refused like any other gated action
ok 801 - REQ-COS-1: a pm without message.send is refused like any other gated action
---
duration_ms: 13.833121
type: 'test'
...
# Subtest: REQ-COS-1: the request goes to the business launcher, and only when that is a chief of staff
ok 802 - REQ-COS-1: the request goes to the business launcher, and only when that is a chief of staff
---
duration_ms: 36.111621
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 803 - 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: 33.749016
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 804 - 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: 32.61084
type: 'test'
...
# Subtest: REQ-COS-1: a refused staff request leaves no staff.request action.allowed event
ok 805 - REQ-COS-1: a refused staff request leaves no staff.request action.allowed event
---
duration_ms: 20.248057
type: 'test'
...
# Subtest: REQ-ASSIST-2: the role definitions' messaging lists hold for a staff request, sender and recipient
ok 806 - REQ-ASSIST-2: the role definitions' messaging lists hold for a staff request, sender and recipient
---
duration_ms: 51.459545
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 807 - a staff request names a task, 1 to 10 distinct roles and counts of 1 to 20; nothing else is accepted
---
duration_ms: 36.395133
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 808 - REQ-COS-1: a staff request grants nothing: the pm still can't launch and the chief of staff launches as before
---
duration_ms: 20.974993
type: 'test'
...
# Subtest: a business that never switched launches reads allowed with no time and no event
ok 809 - a business that never switched launches reads allowed with no time and no event
---
duration_ms: 18.784135
type: 'test'
...
# Subtest: launches revoked and then restored read allowed, with the restore time and event id
ok 810 - launches revoked and then restored read allowed, with the restore time and event id
---
duration_ms: 14.925303
type: 'test'
...
# Subtest: a task closed on the tracker leaves the open list, and total counts the open ones
ok 811 - a task closed on the tracker leaves the open list, and total counts the open ones
---
duration_ms: 14.71472
type: 'test'
...
# Subtest: a tombstone is not open
ok 812 - a tombstone is not open
---
duration_ms: 12.933063
type: 'test'
...
# Subtest: the open list stops at the cap and says so; total still counts every open task
ok 813 - the open list stops at the cap and says so; total still counts every open task
---
duration_ms: 15.942524
type: 'test'
...
# Subtest: a role and a reader session read state; arguments, and an unbound cap, refuse
ok 814 - a role and a reader session read state; arguments, and an unbound cap, refuse
---
duration_ms: 14.181167
type: 'test'
...
# Subtest: a human session reads the same state, with the same cap
ok 815 - a human session reads the same state, with the same cap
---
duration_ms: 15.542221
type: 'test'
...
# Subtest: reading state writes nothing: every table keeps its row count
ok 816 - reading state writes nothing: every table keeps its row count
---
duration_ms: 15.049929
type: 'test'
...
# Subtest: creates private WAL store and excludes a second writer until explicit close
ok 817 - creates private WAL store and excludes a second writer until explicit close
---
duration_ms: 12.013073
type: 'test'
...
# Subtest: rollback is atomic and schema metadata is checked against trusted DDL, not just itself
ok 818 - rollback is atomic and schema metadata is checked against trusted DDL, not just itself
---
duration_ms: 11.923256
type: 'test'
...
# Subtest: existing empty database and symlink runtime directory refuse, never initialize over damage
ok 819 - existing empty database and symlink runtime directory refuse, never initialize over damage
---
duration_ms: 11.700583
type: 'test'
...
# Subtest: crash during a transaction recovers no partial event after explicit fixture-only lock removal
ok 820 - crash during a transaction recovers no partial event after explicit fixture-only lock removal
---
duration_ms: 62.02388
type: 'test'
...
# Subtest: writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers
ok 821 - writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers
---
duration_ms: 9.081463
type: 'test'
...
# Subtest: async transactions refuse before invoking their function
ok 822 - async transactions refuse before invoking their function
---
duration_ms: 7.020761
type: 'test'
...
# Subtest: usage_records refuses non-canonical timestamps atomically
ok 823 - usage_records refuses non-canonical timestamps atomically
---
duration_ms: 8.182214
type: 'test'
...
# Subtest: the session default fits under the reply cap and pages to the end with next
ok 824 - the session default fits under the reply cap and pages to the end with next
---
duration_ms: 115.537782
type: 'test'
...
# Subtest: the short form: no description, assignees by role, every listed key
ok 825 - the short form: no description, assignees by role, every listed key
---
duration_ms: 73.079831
type: 'test'
...
# Subtest: each filter, alone and together, and total counts every match
ok 826 - each filter, alone and together, and total counts every match
---
duration_ms: 142.54498
type: 'test'
...
# Subtest: task_ref reads one task in full, as the whole board has it
ok 827 - task_ref reads one task in full, as the whole board has it
---
duration_ms: 89.772296
type: 'test'
...
# Subtest: no arguments is the read the Console and mosaic make, unchanged
ok 828 - no arguments is the read the Console and mosaic make, unchanged
---
duration_ms: 73.279446
type: 'test'
...
# Subtest: an unknown argument or a bad value refuses invalid-request
ok 829 - an unknown argument or a bad value refuses invalid-request
---
duration_ms: 319.591401
type: 'test'
...
# Subtest: tasks rows carry priority and requirement for every session that reads tasks
ok 830 - tasks rows carry priority and requirement for every session that reads tasks
---
duration_ms: 36.464955
type: 'test'
...
# Subtest: the read model rebuilds from the ledger: a reopened bus and each trail give the same values
ok 831 - the read model rebuilds from the ledger: a reopened bus and each trail give the same values
---
duration_ms: 38.525067
type: 'test'
...
# Subtest: an empty business and one with snapshots but no task.created read cleanly
ok 832 - an empty business and one with snapshots but no task.created read cleanly
---
duration_ms: 11.943721
type: 'test'
...
# Subtest: recordTask keeps sync reads and a role write apart
ok 833 - recordTask keeps sync reads and a role write apart
---
duration_ms: 29.958231
type: 'test'
...
# Subtest: read_at must be one canonical UTC format, so the projection compares strings safely
ok 834 - read_at must be one canonical UTC format, so the projection compares strings safely
---
duration_ms: 9.701965
type: 'test'
...
# Subtest: a bad entry refuses the whole record
ok 835 - a bad entry refuses the whole record
---
duration_ms: 9.745605
type: 'test'
...
# Subtest: taskView reads the projection for one business
ok 836 - taskView reads the projection for one business
---
duration_ms: 12.167329
type: 'test'
...
# Subtest: requestTask hands only a holder and a task verb to the handler, and records refusals
ok 837 - requestTask hands only a holder and a task verb to the handler, and records refusals
---
duration_ms: 22.050409
type: 'test'
...
# Subtest: the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous
ok 838 - the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous
---
duration_ms: 302.671
type: 'test'
...
# Subtest: without an adapter the server refuses every task verb
ok 839 - without an adapter the server refuses every task verb
---
duration_ms: 40.635492
type: 'test'
...
# Subtest: the runtime refuses an invalid adapter and closes a valid one
ok 840 - the runtime refuses an invalid adapter and closes a valid one
---
duration_ms: 51.197989
type: 'test'
...
# Subtest: the process loads the S3 adapter from plain-data trackers
ok 841 - the process loads the S3 adapter from plain-data trackers
---
duration_ms: 251.54157
type: 'test'
...
# Subtest: row 177 T1: a tester thread is owned by tester, and neither side reaches or lists the other
ok 842 - row 177 T1: a tester thread is owned by tester, and neither side reaches or lists the other
---
duration_ms: 28.761698
type: 'test'
...
# Subtest: row 177 T2: the tester thread.send is from tester-cli with no human.input; its open is by tester
ok 843 - row 177 T2: the tester thread.send is from tester-cli with no human.input; its open is by tester
---
duration_ms: 17.017256
type: 'test'
...
# Subtest: row 177 T3: the lists read the tester as the human in its own thread, and nowhere else
ok 844 - row 177 T3: the lists read the tester as the human in its own thread, and nowhere else
---
duration_ms: 14.416088
type: 'test'
...
# Subtest: row 177 T3: an assistant that would not hear the human refuses the tester too
ok 845 - row 177 T3: an assistant that would not hear the human refuses the tester too
---
duration_ms: 13.42157
type: 'test'
...
# Subtest: row 177 T4: the tester thread run answers the tester, never the human
ok 846 - row 177 T4: the tester thread run answers the tester, never the human
---
duration_ms: 26.619872
type: 'test'
...
# Subtest: row 177 T5: each stop revokes only its own threads, recorded by its own actor
ok 847 - row 177 T5: each stop revokes only its own threads, recorded by its own actor
---
duration_ms: 20.654383
type: 'test'
...
# Subtest: row 177 T5: the human stop never ends a tester run
ok 848 - row 177 T5: the human stop never ends a tester run
---
duration_ms: 14.687668
type: 'test'
...
# Subtest: row 177 T6: a business whose human is tester refuses invalid-business
ok 849 - row 177 T6: a business whose human is tester refuses invalid-business
---
duration_ms: 10.307335
type: 'test'
...
# Subtest: row 177 T7: the human trail shows a tester thread message as the tester
ok 850 - row 177 T7: the human trail shows a tester thread message as the tester
---
duration_ms: 19.260383
type: 'test'
...
# Subtest: row 177 T8: a tester-thread run never raises a decision to the human; a human-thread run still does
ok 851 - row 177 T8: a tester-thread run never raises a decision to the human; a human-thread run still does
---
duration_ms: 19.927343
type: 'test'
...
# Subtest: row 177 T8: a tester-thread raise routed to the arbiter stays allowed
ok 852 - row 177 T8: a tester-thread raise routed to the arbiter stays allowed
---
duration_ms: 16.574358
type: 'test'
...
# Subtest: row 182 T9: a tester reply into the human's thread refuses thread-not-owned and stores nothing
ok 853 - row 182 T9: a tester reply into the human's thread refuses thread-not-owned and stores nothing
---
duration_ms: 18.047228
type: 'test'
...
# Subtest: row 182 T9: a tester reply into its own thread lands there
ok 854 - row 182 T9: a tester reply into its own thread lands there
---
duration_ms: 17.733562
type: 'test'
...
# Subtest: row 182 T9: the chief's reply up a chain into a tester's thread lands there
ok 855 - row 182 T9: the chief's reply up a chain into a tester's thread lands there
---
duration_ms: 21.196437
type: 'test'
...
# Subtest: row 182 T9: a tester reply to a spec notice refuses thread-not-owned; the chief's relay still lands
ok 856 - row 182 T9: a tester reply to a spec notice refuses thread-not-owned; the chief's relay still lands
---
duration_ms: 20.618573
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 857 - row 175: TESTER_VERBS and the organization branch tester set are pinned
---
duration_ms: 1.035683
type: 'test'
...
# Subtest: row 175: each of the six reads as the tester deep-equals the human read
ok 858 - row 175: each of the six reads as the tester deep-equals the human read
---
duration_ms: 72.125244
type: 'test'
...
# Subtest: row 175: W1-W3 as the tester land with receipt actor tester; the human still logs the human
ok 859 - row 175: W1-W3 as the tester land with receipt actor tester; the human still logs the human
---
duration_ms: 68.394006
type: 'test'
...
# Subtest: row 175: W2 as the tester refuses credentials, protected definitions, human, tester and bus.tester, and changes nothing
ok 860 - row 175: W2 as the tester refuses credentials, protected definitions, human, tester and bus.tester, and changes nothing
---
duration_ms: 60.191095
type: 'test'
...
# Subtest: row 175: the human-only actions refuse a tester tester-refused, and the file and store stay as they were
ok 861 - row 175: the human-only actions refuse a tester tester-refused, and the file and store stay as they were
---
duration_ms: 58.044677
type: 'test'
...
# Subtest: row 175: W4 as the tester writes by tester and keeps every name check
ok 862 - row 175: W4 as the tester writes by tester and keeps every name check
---
duration_ms: 21.262302
type: 'test'
...
# Subtest: row 175: W6 as the tester records created_by tester; the human records the human
ok 863 - row 175: W6 as the tester records created_by tester; the human records the human
---
duration_ms: 13.220226
type: 'test'
...
# Subtest: row 175: with bus.tester unset or not exactly true no tester binds, so no read or write runs
ok 864 - row 175: with bus.tester unset or not exactly true no tester binds, so no read or write runs
---
duration_ms: 47.727023
type: 'test'
...
# Subtest: the tester binds only when the business sets bus.tester to exactly true
ok 865 - the tester binds only when the business sets bus.tester to exactly true
---
duration_ms: 91.073086
type: 'test'
...
# Subtest: a business may not name a role tester, so the tester address is never a role
ok 866 - a business may not name a role tester, so the tester address is never a role
---
duration_ms: 23.583638
type: 'test'
...
# Subtest: every verb outside the tester list refuses tester-refused and is recorded against the tester
ok 867 - every verb outside the tester list refuses tester-refused and is recorded against the tester
---
duration_ms: 41.558289
type: 'test'
...
# Subtest: a tester message is from tester, needs no prefix, and writes no human.input or authority
ok 868 - a tester message is from tester, needs no prefix, and writes no human.input or authority
---
duration_ms: 18.567029
type: 'test'
...
# Subtest: a tester message to a role no run holds refuses tester-target-not-running and stores nothing
ok 869 - a tester message to a role no run holds refuses tester-target-not-running and stores nothing
---
duration_ms: 12.233098
type: 'test'
...
# Subtest: a tester message is refused while the run is only launched, and routes once it claims
ok 870 - a tester message is refused while the run is only launched, and routes once it claims
---
duration_ms: 15.017457
type: 'test'
...
# Subtest: a human message to a role no run holds still waits and tells launch.by
ok 871 - a human message to a role no run holds still waits and tells launch.by
---
duration_ms: 12.542223
type: 'test'
...
# Subtest: a role answers a tester only in reply to a tester message, and the answer never reaches the human
ok 872 - a role answers a tester only in reply to a tester message, and the answer never reaches the human
---
duration_ms: 23.917167
type: 'test'
...
# Subtest: the tester reads the human views a reader reads
ok 873 - the tester reads the human views a reader reads
---
duration_ms: 26.302298
type: 'test'
...
# Subtest: tester proof binds its own CLI, start time and nonce, refuses a managed run and allows an agent
ok 874 - tester proof binds its own CLI, start time and nonce, refuses a managed run and allows an agent
---
duration_ms: 1.12358
type: 'test'
...
# Subtest: neither CLI's nonce proves the other: each proof is bound to its own CLI and nonce variable
ok 875 - neither CLI's nonce proves the other: each proof is bound to its own CLI and nonce variable
---
duration_ms: 0.350581
type: 'test'
...
# Subtest: testerNonce reads only the tester's variable and gives null on any read error
ok 876 - testerNonce reads only the tester's variable and gives null on any read error
---
duration_ms: 0.185242
type: 'test'
...
# Subtest: an envelope carries exactly one of cap, human and tester; no tester authenticator refuses
ok 877 - an envelope carries exactly one of cap, human and tester; no tester authenticator refuses
---
duration_ms: 93.018922
type: 'test'
...
# Subtest: tester-cli.mjs binds through the runtime when the switch is on, and refuses off or under a run marker
ok 878 - tester-cli.mjs binds through the runtime when the switch is on, and refuses off or under a run marker
---
duration_ms: 987.084829
type: 'test'
...
# Subtest: T1: the human and the reader see a held thread claim; agents still lists the role only
ok 879 - T1: the human and the reader see a held thread claim; agents still lists the role only
---
duration_ms: 25.746049
type: 'test'
...
# Subtest: T2: a released or revoked thread claim is not listed, though its thread has an earlier claim row
ok 880 - T2: a released or revoked thread claim is not listed, though its thread has an earlier claim row
---
duration_ms: 21.609288
type: 'test'
...
# Subtest: T3: a role session refuses human-required and the tester refuses tester-refused
ok 881 - T3: a role session refuses human-required and the tester refuses tester-refused
---
duration_ms: 19.23918
type: 'test'
...
# Subtest: T4: agents answers each session the same before and after a thread run claims
ok 882 - T4: agents answers each session the same before and after a thread run claims
---
duration_ms: 18.834331
type: 'test'
...
# Subtest: T5: the result carries neither the thread name a user wrote nor a message body
ok 883 - T5: the result carries neither the thread name a user wrote nor a message body
---
duration_ms: 17.313033
type: 'test'
...
# Subtest: T6: two held sessions of one thread list as two rows, each its session's latest claim
ok 884 - T6: two held sessions of one thread list as two rows, each its session's latest claim
---
duration_ms: 19.19892
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 885 - REQ-THREAD-1 REQ-ORG-2: the 3d→3e migration adds the thread tables and leaves messages from before threads as written
---
duration_ms: 86.292224
type: 'test'
...
# Subtest: REQ-THREAD-1: a 3d bus with a changed schema is refused and keeps its version and tables
ok 886 - REQ-THREAD-1: a 3d bus with a changed schema is refused and keeps its version and tables
---
duration_ms: 39.821349
type: 'test'
...
# Subtest: REQ-THREAD-1: the offline command prints the kept-message counts before the ready line
ok 887 - REQ-THREAD-1: the offline command prints the kept-message counts before the ready line
---
duration_ms: 119.711395
type: 'test'
...
# Subtest: a share lets the sharee read the thread and nothing else: every write verb stays the owner's (mutants 7, 9)
ok 888 - a share lets the sharee read the thread and nothing else: every write verb stays the owner's (mutants 7, 9)
---
duration_ms: 40.491826
type: 'test'
...
# Subtest: the business human shares too, and a `*` share reaches every covered principal but the tester
ok 889 - the business human shares too, and a `*` share reaches every covered principal but the tester
---
duration_ms: 25.094444
type: 'test'
...
# Subtest: mutant 2: a share never widens a grant; when the sharee's grant stops covering the thread, its reads end
ok 890 - mutant 2: a share never widens a grant; when the sharee's grant stops covering the thread, its reads end
---
duration_ms: 24.917201
type: 'test'
...
# Subtest: mutant 3: a thread whose user owner has lost coverage is hidden from its sharees, the owner's board included
ok 891 - mutant 3: a thread whose user owner has lost coverage is hidden from its sharees, the owner's board included
---
duration_ms: 34.480657
type: 'test'
...
# Subtest: mutant 4: a share's state is its latest row, so an unshare ends it and a share after it starts it again
ok 892 - mutant 4: a share's state is its latest row, so an unshare ends it and a share after it starts it again
---
duration_ms: 28.620188
type: 'test'
...
# Subtest: mutant 8: a user target needs a live grant of any level covering the thread, else share-not-covered
ok 893 - mutant 8: a user target needs a live grant of any level covering the thread, else share-not-covered
---
duration_ms: 20.306202
type: 'test'
...
# Subtest: a viewer reads a thread shared with it, and share, unshare and shares refuse a viewer access-refused (design 4.3)
ok 894 - a viewer reads a thread shared with it, and share, unshare and shares refuse a viewer access-refused (design 4.3)
---
duration_ms: 22.445664
type: 'test'
...
# Subtest: a share target is `user:<id>`, the business human or `*`, and never the sharer
ok 895 - a share target is `user:<id>`, the business human or `*`, and never the sharer
---
duration_ms: 42.083258
type: 'test'
...
# Subtest: a user whose collaborator grant no longer covers its own thread can't share, unshare or list its shares
ok 896 - a user whose collaborator grant no longer covers its own thread can't share, unshare or list its shares
---
duration_ms: 20.270176
type: 'test'
...
# Subtest: the tester and a reader session never share: each verb refuses and writes nothing
ok 897 - the tester and a reader session never share: each verb refuses and writes nothing
---
duration_ms: 35.246192
type: 'test'
...
# Subtest: the owner's trail and replies show a user's message only while that user's thread is shared with the owner
ok 898 - the owner's trail and replies show a user's message only while that user's thread is shared with the owner
---
duration_ms: 26.847379
type: 'test'
...
# Subtest: a share covers every session of the thread
ok 899 - a share covers every session of the thread
---
duration_ms: 20.900672
type: 'test'
...
# Subtest: a sharee can't list the thread's sessions: session.list stays owner-only (Q7, sage-2818 Q1)
ok 900 - a sharee can't list the thread's sessions: session.list stays owner-only (Q7, sage-2818 Q1)
---
duration_ms: 19.556417
type: 'test'
...
# Subtest: only a human principal matches a share: an agent bound to the thread and the tester match none (sage-2818 Q2)
ok 901 - only a human principal matches a share: an agent bound to the thread and the tester match none (sage-2818 Q2)
---
duration_ms: 30.489499
type: 'test'
...
# Subtest: a 3l store migrates to 3m: thread_shares is new and empty, and every other row stays as it was
ok 902 - a 3l store migrates to 3m: thread_shares is new and empty, and every other row stays as it was
---
duration_ms: 90.510078
type: 'test'
...
# Subtest: the 3l engine refuses a 3m store, migrating or not, and leaves it as it was
ok 903 - the 3l engine refuses a 3m store, migrating or not, and leaves it as it was
---
duration_ms: 156.870812
type: 'test'
...
# Subtest: REQ-ROLE-2 REQ-THREAD-1: one holder per thread, through the broker and the trigger
ok 904 - REQ-ROLE-2 REQ-THREAD-1: one holder per thread, through the broker and the trigger
---
duration_ms: 38.305636
type: 'test'
...
# Subtest: REQ-ROLE-2 REQ-THREAD-1: the 3e triggers refuse writes that skip the broker
ok 905 - REQ-ROLE-2 REQ-THREAD-1: the 3e triggers refuse writes that skip the broker
---
duration_ms: 69.925676
type: 'test'
...
# Subtest: REQ-MSG-1: a message to or from the assistant names its thread, or is refused
ok 906 - REQ-MSG-1: a message to or from the assistant names its thread, or is refused
---
duration_ms: 31.978426
type: 'test'
...
# Subtest: REQ-MSG-1: the chief of staff's reply comes back to the thread that sent the work
ok 907 - REQ-MSG-1: the chief of staff's reply comes back to the thread that sent the work
---
duration_ms: 582.341743
type: 'test'
...
# Subtest: REQ-MSG-1: a reply can't carry one thread instance's thread to another thread instance
ok 908 - REQ-MSG-1: a reply can't carry one thread instance's thread to another thread instance
---
duration_ms: 23.730024
type: 'test'
...
# Subtest: REQ-THREAD-1 REQ-USER-2: one thread's messages never reach another thread's holder
ok 909 - REQ-THREAD-1 REQ-USER-2: one thread's messages never reach another thread's holder
---
duration_ms: 26.962781
type: 'test'
...
# Subtest: REQ-LAUNCH-1: a message to a thread with no holder waits, and the next holder gets it
ok 910 - REQ-LAUNCH-1: a message to a thread with no holder waits, and the next holder gets it
---
duration_ms: 30.996261
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1: threadIdle releases only a thread with nothing waiting, and only for its holder
ok 911 - REQ-THREAD-2 REQ-LAUNCH-1: threadIdle releases only a thread with nothing waiting, and only for its holder
---
duration_ms: 33.103481
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 912 - REQ-THREAD-2 REQ-LAUNCH-1: a message delivered to a run that ended unread doesn't hold up the next holder
---
duration_ms: 28.784717
type: 'test'
...
# Subtest: REQ-ROLE-2 REQ-THREAD-1 Q169: a role.revoke the human approved ends every thread run of the assistant
ok 913 - REQ-ROLE-2 REQ-THREAD-1 Q169: a role.revoke the human approved ends every thread run of the assistant
---
duration_ms: 24.776618
type: 'test'
...
# Subtest: Q169 REQ-USER-2: assistant.stop ends the human's own assistant thread runs, and only the human's
ok 914 - Q169 REQ-USER-2: assistant.stop ends the human's own assistant thread runs, and only the human's
---
duration_ms: 38.839285
type: 'test'
...
# Subtest: REQ-USER-2: the human verbs refuse another owner's thread
ok 915 - REQ-USER-2: the human verbs refuse another owner's thread
---
duration_ms: 28.253486
type: 'test'
...
# Subtest: REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one
ok 916 - REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one
---
duration_ms: 23.439371
type: 'test'
...
# Subtest: REQ-ORG-2: projects and threads are named once, and the repo names a business project
ok 917 - REQ-ORG-2: projects and threads are named once, and the repo names a business project
---
duration_ms: 25.091837
type: 'test'
...
# Subtest: REQ-THREAD-2: thread.messages returns the thread's history in pages and writes nothing
ok 918 - REQ-THREAD-2: thread.messages returns the thread's history in pages and writes nothing
---
duration_ms: 87.714952
type: 'test'
...
# Subtest: project.create refuses a repository name without its matching repo before any write
ok 919 - project.create refuses a repository name without its matching repo before any write
---
duration_ms: 15.54535
type: 'test'
...
# Subtest: project.create keeps unrelated names with and without a repository
ok 920 - project.create keeps unrelated names with and without a repository
---
duration_ms: 11.019828
type: 'test'
...
# Subtest: C2-09a: explicit creative instances bind independent threads, default sessions and holders
ok 921 - C2-09a: explicit creative instances bind independent threads, default sessions and holders
---
duration_ms: 45.371487
type: 'test'
...
# Subtest: C2-09a: explicit missing, non-thread and malformed selectors create no thread or session
ok 922 - C2-09a: explicit missing, non-thread and malformed selectors create no thread or session
---
duration_ms: 19.929973
type: 'test'
...
# Subtest: C2-09a: creative bindLaunch without a thread refuses thread-required
ok 923 - C2-09a: creative bindLaunch without a thread refuses thread-required
---
duration_ms: 9.955014
type: 'test'
...
# Subtest: socket capability stamps launch identity; shared views use wire, no SQL client
ok 924 - socket capability stamps launch identity; shared views use wire, no SQL client
---
duration_ms: 43.503831
type: 'test'
...
# Subtest: two wire claims serialize; a lost reply never automatically retries
ok 925 - two wire claims serialize; a lost reply never automatically retries
---
duration_ms: 35.505762
type: 'test'
...
# Subtest: malformed, oversized and identity-forging envelopes refuse without echoing input
ok 926 - malformed, oversized and identity-forging envelopes refuse without echoing input
---
duration_ms: 29.487948
type: 'test'
...
# Subtest: client preserves UTF-8 when a response divides a multibyte character
ok 927 - client preserves UTF-8 when a response divides a multibyte character
---
duration_ms: 11.126851
type: 'test'
...
# Subtest: committed mutation followed by dropped reply reports unknown and is never retried
ok 928 - committed mutation followed by dropped reply reports unknown and is never retried
---
duration_ms: 30.274585
type: 'test'
...
# Subtest: REQ-LIMIT-4 usage protocol binds run identity, requires a delivered turn and isolates businesses
ok 929 - REQ-LIMIT-4 usage protocol binds run identity, requires a delivered turn and isolates businesses
---
duration_ms: 25.215363
type: 'test'
...
# Subtest: REQ-LIMIT-4 3g copy migrates through 3h, 3i, 3j and 3k to 3l preserving every old column, row and sequence; new usage table is empty
ok 930 - REQ-LIMIT-4 3g copy migrates through 3h, 3i, 3j and 3k to 3l preserving every old column, row and sequence; new usage table is empty
---
duration_ms: 83.277008
type: 'test'
...
# Subtest: REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket
ok 931 - REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket
---
duration_ms: 64.521762
type: 'test'
...
# Subtest: REQ-LIMIT-4 loader source records new turn kinds, excludes history and retries exactly once
ok 932 - REQ-LIMIT-4 loader source records new turn kinds, excludes history and retries exactly once
---
duration_ms: 13.936086
type: 'test'
...
# Subtest: REQ-LIMIT-4 cut: unknown is durable and logged next to every total
ok 933 - REQ-LIMIT-4 cut: unknown is durable and logged next to every total
---
duration_ms: 10.237164
type: 'test'
...
# Subtest: REQ-LIMIT-4 disabled: unknown is durable and logged next to every total
ok 934 - REQ-LIMIT-4 disabled: unknown is durable and logged next to every total
---
duration_ms: 9.054274
type: 'test'
...
# Subtest: REQ-LIMIT-4 missing-begin: unknown is durable and logged next to every total
ok 935 - REQ-LIMIT-4 missing-begin: unknown is durable and logged next to every total
---
duration_ms: 8.522975
type: 'test'
...
# Subtest: REQ-LIMIT-4 no-new-usage: unknown is durable and logged next to every total
ok 936 - REQ-LIMIT-4 no-new-usage: unknown is durable and logged next to every total
---
duration_ms: 9.607426
type: 'test'
...
# Subtest: REQ-LIMIT-4 rewrite: unknown is durable and logged next to every total
ok 937 - REQ-LIMIT-4 rewrite: unknown is durable and logged next to every total
---
duration_ms: 9.47392
type: 'test'
...
# Subtest: REQ-LIMIT-4 unfinished turn remains visibly unknown after accounting restarts
ok 938 - REQ-LIMIT-4 unfinished turn remains visibly unknown after accounting restarts
---
duration_ms: 8.771747
type: 'test'
...
# Subtest: usage records are append-only
ok 939 - usage records are append-only
---
duration_ms: 9.58451
type: 'test'
...
# Subtest: REQ-LIMIT-4 parse failure logs its safe code, never transcript content
ok 940 - REQ-LIMIT-4 parse failure logs its safe code, never transcript content
---
duration_ms: 9.413838
type: 'test'
...
# Subtest: REQ-LIMIT-4 resumed run baselines history and exact totals do not overflow
ok 941 - REQ-LIMIT-4 resumed run baselines history and exact totals do not overflow
---
duration_ms: 11.389305
type: 'test'
...
# Subtest: REQ-PLUG-1 core has no transcript import and disabled sources do not read any transcript
ok 942 - REQ-PLUG-1 core has no transcript import and disabled sources do not read any transcript
---
duration_ms: 8.711893
type: 'test'
...
# Subtest: REQ-LIMIT-4 a resumed thread bills only new assistant messages to its next run
ok 943 - REQ-LIMIT-4 a resumed thread bills only new assistant messages to its next run
---
duration_ms: 9.462535
type: 'test'
...
# Subtest: REQ-LIMIT-4 every enabled source is called; failure is unknown and a partial total stays labelled
ok 944 - REQ-LIMIT-4 every enabled source is called; failure is unknown and a partial total stays labelled
---
duration_ms: 13.412959
type: 'test'
...
# Subtest: REQ-LIMIT-4 a turn whose reported sum exceeds safe precision is unknown, not rounded
ok 945 - REQ-LIMIT-4 a turn whose reported sum exceeds safe precision is unknown, not rounded
---
duration_ms: 9.258436
type: 'test'
...
# Subtest: row 65 a run bound without a transcript directory records no-transcript
ok 946 - row 65 a run bound without a transcript directory records no-transcript
---
duration_ms: 8.813616
type: 'test'
...
# Subtest: R3: bindUser binds a granted user and refuses one with no live grant
ok 947 - R3: bindUser binds a granted user and refuses one with no live grant
---
duration_ms: 14.444806
type: 'test'
...
# Subtest: R3: a user named like the business human, the tester or a principal word is refused, whatever the grants say
ok 948 - R3: a user named like the business human, the tester or a principal word is refused, whatever the grants say
---
duration_ms: 9.744513
type: 'test'
...
# Subtest: R3: each collaborator verb is allowed to a granted user
ok 949 - R3: each collaborator verb is allowed to a granted user
---
duration_ms: 18.615024
type: 'test'
...
# Subtest: R3: every verb off the collaborator list refuses a user access-refused before its own checks
ok 950 - R3: every verb off the collaborator list refuses a user access-refused before its own checks
---
duration_ms: 108.633826
type: 'test'
...
# Subtest: R3: task, web and host verbs refuse a user access-refused
ok 951 - R3: task, web and host verbs refuse a user access-refused
---
duration_ms: 23.347158
type: 'test'
...
# Subtest: R3 leak: project.list shows granted projects only
ok 952 - R3 leak: project.list shows granted projects only
---
duration_ms: 13.121078
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 953 - 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: 16.288364
type: 'test'
...
# Subtest: R3 leak: thread.list shows the user its own threads that are still granted, never others
ok 954 - R3 leak: thread.list shows the user its own threads that are still granted, never others
---
duration_ms: 35.453141
type: 'test'
...
# Subtest: R3 leak: names shows granted instances only
ok 955 - R3 leak: names shows granted instances only
---
duration_ms: 14.241025
type: 'test'
...
# Subtest: R3: thread.send is from user:<id> and writes no human.input
ok 956 - R3: thread.send is from user:<id> and writes no human.input
---
duration_ms: 12.698273
type: 'test'
...
# Subtest: R3: a reply-chain message.send into another user thread is refused
ok 957 - R3: a reply-chain message.send into another user thread is refused
---
duration_ms: 15.384048
type: 'test'
...
# Subtest: R3: the run reply to a user message reaches that user thread.messages, with no waiting and no notice
ok 958 - R3: the run reply to a user message reaches that user thread.messages, with no waiting and no notice
---
duration_ms: 19.351506
type: 'test'
...
# Subtest: R3: a reply to: user without a matching in_reply_to is refused user-reply-required
ok 959 - R3: a reply to: user without a matching in_reply_to is refused user-reply-required
---
duration_ms: 28.623395
type: 'test'
...
# Subtest: R3: a non-thread run, the human and the tester cannot send to: user
ok 960 - R3: a non-thread run, the human and the tester cannot send to: user
---
duration_ms: 17.410716
type: 'test'
...
# Subtest: R3: a user thread run cannot message the owner, while its uncited gated raise reaches only the owner inbox, B9
ok 961 - R3: a user thread run cannot message the owner, while its uncited gated raise reaches only the owner inbox, B9
---
duration_ms: 19.881305
type: 'test'
...
# Subtest: R3: a removed or expired grant refuses the next request access-revoked, and the file is read per request
ok 962 - R3: a removed or expired grant refuses the next request access-revoked, and the file is read per request
---
duration_ms: 19.590136
type: 'test'
...
# Subtest: R3: a user refusal is recorded as action.refused by user:<id>
ok 963 - R3: a user refusal is recorded as action.refused by user:<id>
---
duration_ms: 13.584657
type: 'test'
...
# Subtest: R3: a business with a role keyed user refuses invalid-business
ok 964 - R3: a business with a role keyed user refuses invalid-business
---
duration_ms: 9.49604
type: 'test'
...
# Subtest: R3: name.set refuses the name user
ok 965 - R3: name.set refuses the name user
---
duration_ms: 10.334159
type: 'test'
...
# Subtest: R3 r4: while halted, a granted user's thread.send refuses processing-halted and thread.messages still answers
ok 966 - R3 r4: while halted, a granted user's thread.send refuses processing-halted and thread.messages still answers
---
duration_ms: 15.421256
type: 'test'
...
# Subtest: R3 r4: the chief's hire refuses an instance named user with the code it gives human and tester
ok 967 - R3 r4: the chief's hire refuses an instance named user with the code it gives human and tester
---
duration_ms: 15.273119
type: 'test'
...
# Subtest: R3 r4: a non-function access throws before the store is read
ok 968 - R3 r4: a non-function access throws before the store is read
---
duration_ms: 0.126192
type: 'test'
...
# Subtest: C2-09a: naming an instance cannot bypass its collaborator grant or disclose an ungranted project
ok 969 - C2-09a: naming an instance cannot bypass its collaborator grant or disclose an ungranted project
---
duration_ms: 18.921764
type: 'test'
...
# Subtest: 264e deferred B6: a reply cannot cite the same user in a sibling session
ok 970 - 264e deferred B6: a reply cannot cite the same user in a sibling session
---
duration_ms: 20.970996
type: 'test'
...
# Subtest: 275: VIEWER_VERBS is the ruled read list, inside USER_VERBS
ok 971 - 275: VIEWER_VERBS is the ruled read list, inside USER_VERBS
---
duration_ms: 1.054162
type: 'test'
...
# Subtest: 275: a viewer binds, and each viewer verb answers with what its grant covers
ok 972 - 275: a viewer binds, and each viewer verb answers with what its grant covers
---
duration_ms: 27.455106
type: 'test'
...
# Subtest: 275: a viewer is refused thread.create, thread.open and thread.send access-refused, and nothing is stored
ok 973 - 275: a viewer is refused thread.create, thread.open and thread.send access-refused, and nothing is stored
---
duration_ms: 20.765903
type: 'test'
...
# Subtest: 275: every verb off the user list refuses a viewer access-refused before its own checks
ok 974 - 275: every verb off the user list refuses a viewer access-refused before its own checks
---
duration_ms: 95.209901
type: 'test'
...
# Subtest: 275: mixed grants, collaborator on one project and viewer on another, take the level per project
ok 975 - 275: mixed grants, collaborator on one project and viewer on another, take the level per project
---
duration_ms: 22.979829
type: 'test'
...
# Subtest: 275: board reads refuse users and viewers access-refused
ok 976 - 275: board reads refuse users and viewers access-refused
---
duration_ms: 70.581526
type: 'test'
...
# Subtest: governance pin, user side: decisions, inbox entries, claims, tasks and project files are the owner's, the user reads its messages
ok 977 - governance pin, user side: decisions, inbox entries, claims, tasks and project files are the owner's, the user reads its messages
---
duration_ms: 37.882636
type: 'test'
...
# Subtest: web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query
ok 978 - web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query
---
duration_ms: 20.295638
type: 'test'
...
# Subtest: web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url
ok 979 - web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url
---
duration_ms: 19.160995
type: 'test'
...
# Subtest: a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched
ok 980 - a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched
---
duration_ms: 18.657896
type: 'test'
...
# Subtest: a broker with no web service refuses a granted role
ok 981 - a broker with no web service refuses a granted role
---
duration_ms: 13.055339
type: 'test'
...
# Subtest: bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session
ok 982 - bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session
---
duration_ms: 17.959193
type: 'test'
...
# Subtest: a session that is not the role holder is refused
ok 983 - a session that is not the role holder is refused
---
duration_ms: 10.62129
type: 'test'
...
# Subtest: web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason
ok 984 - web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason
---
duration_ms: 36.046269
type: 'test'
...
# Subtest: web.search with no search source configured is a refused result, not an error
ok 985 - web.search with no search source configured is a refused result, not an error
---
duration_ms: 13.132617
type: 'test'
...
# Subtest: a search source that fails with its own refusal, or that throws, is handled
ok 986 - a search source that fails with its own refusal, or that throws, is handled
---
duration_ms: 16.520343
type: 'test'
...
# Subtest: a slow search source ends in a refusal at the deadline
ok 987 - a slow search source ends in a refusal at the deadline
---
duration_ms: 64.219129
type: 'test'
...
# Subtest: a secret in the arguments is refused before anything is trailed or fetched
ok 988 - a secret in the arguments is refused before anything is trailed or fetched
---
duration_ms: 13.158777
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 989 - over the socket: the server routes web verbs to the service; other roles are refused; no service is web-not-configured
---
duration_ms: 64.690974
type: 'test'
...
# Subtest: busBusiness: the web grant comes from "web" in the resolved tool limit
ok 990 - busBusiness: the web grant comes from "web" in the resolved tool limit
---
duration_ms: 0.289812
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 991 - 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: 44.350171
type: 'test'
...
# Subtest: an ungranted call is refused at once: no admission, no wait, nothing touched
ok 992 - an ungranted call is refused at once: no admission, no wait, nothing touched
---
duration_ms: 16.591777
type: 'test'
...
# Subtest: over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait
ok 993 - over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait
---
duration_ms: 387.006492
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 994 - 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: 74.706415
type: 'test'
...
# Subtest: a fetch that stalls is cut off at the deadline: the request is destroyed, not left running
ok 995 - a fetch that stalls is cut off at the deadline: the request is destroyed, not left running
---
duration_ms: 95.45619
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 996 - 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: 18.402902
type: 'test'
...
# Subtest: merge-gate's technical raise is cross-role, goes to the cto, and only merge-gate can use the approval
ok 997 - merge-gate's technical raise is cross-role, goes to the cto, and only merge-gate can use the approval
---
duration_ms: 37.795312
type: 'test'
...
# Subtest: merge-gate has no message.send, and without a domain its raise goes to the delivery arbiter
ok 998 - merge-gate has no message.send, and without a domain its raise goes to the delivery arbiter
---
duration_ms: 25.996386
type: 'test'
...
# Subtest: the cto must be able to message merge-gate, or the technical raise is refused (row 133)
ok 999 - the cto must be able to message merge-gate, or the technical raise is refused (row 133)
---
duration_ms: 23.983572
type: 'test'
...
# Subtest: security-reviewer answers a review with its verdict alone; it holds no message.send
ok 1000 - security-reviewer answers a review with its verdict alone; it holds no message.send
---
duration_ms: 25.172155
type: 'test'
...
1..1000
# tests 1000
# suites 0
# pass 999
# fail 1
# cancelled 0
# skipped 0
# todo 0
# duration_ms 132825.401104