Files
stack/agents/goldie/work/queue-325/test-business.log

1599 lines
56 KiB
Plaintext

Sat Oct 24 01:13:50 UTC 2026
20:13:50 up 10 days, 11:33, 2 users, load average: 1.36, 1.59, 2.49
CLEAR
TMPDIR=/mnt/storage/scratch/tmp/yWVbwY bytes=31
TAP version 13
# Subtest: a grant's level is collaborator or viewer
ok 1 - a grant's level is collaborator or viewer
---
duration_ms: 1.10943
type: 'test'
...
# Subtest: any other level refuses with the key path named
ok 2 - any other level refuses with the key path named
---
duration_ms: 0.652768
type: 'test'
...
# Subtest: covers tells a viewer grant from a collaborator grant
ok 3 - covers tells a viewer grant from a collaborator grant
---
duration_ms: 0.143274
type: 'test'
...
# Subtest: covers refuses a call with no level, so a viewer grant can't slip past a collaborator check
ok 4 - covers refuses a call with no level, so a viewer grant can't slip past a collaborator check
---
duration_ms: 0.112726
type: 'test'
...
# Subtest: a viewer grant still needs its business, project, instance and expiry to cover
ok 5 - a viewer grant still needs its business, project, instance and expiry to cover
---
duration_ms: 0.110204
type: 'test'
...
# Subtest: a valid document passes and comes back frozen
ok 6 - a valid document passes and comes back frozen
---
duration_ms: 1.837438
type: 'test'
...
# Subtest: checkAccess does not freeze or alias the caller's document
ok 7 - checkAccess does not freeze or alias the caller's document
---
duration_ms: 0.207873
type: 'test'
...
# Subtest: LEVELS is the single allowed level set, collaborator and viewer (row 193a)
ok 8 - LEVELS is the single allowed level set, collaborator and viewer (row 193a)
---
duration_ms: 0.084213
type: 'test'
...
# Subtest: accessFilePath is access.json in the config directory
ok 9 - accessFilePath is access.json in the config directory
---
duration_ms: 0.29189
type: 'test'
...
# Subtest: top level: object, unknown keys, accessVersion, revision, arrays
ok 10 - top level: object, unknown keys, accessVersion, revision, arrays
---
duration_ms: 0.850622
type: 'test'
...
# Subtest: users: unknown keys and the id rule
ok 11 - users: unknown keys and the id rule
---
duration_ms: 0.245336
type: 'test'
...
# Subtest: users: human, tester and any business's human are refused
ok 12 - users: human, tester and any business's human are refused
---
duration_ms: 0.231699
type: 'test'
...
# Subtest: users: home is a given peer or local
ok 13 - users: home is a given peer or local
---
duration_ms: 0.19616
type: 'test'
...
# Subtest: users: subjects, provider, sub, uniqueness and owner subjects
ok 14 - users: subjects, provider, sub, uniqueness and owner subjects
---
duration_ms: 0.547482
type: 'test'
...
# Subtest: grants: unknown keys, id, user and business
ok 15 - grants: unknown keys, id, user and business
---
duration_ms: 0.431975
type: 'test'
...
# Subtest: grants: projects is ["*"] or distinct lowercase UUIDs
ok 16 - grants: projects is ["*"] or distinct lowercase UUIDs
---
duration_ms: 0.615138
type: 'test'
...
# Subtest: grants: instances is ["*"] or distinct declared instances of that business
ok 17 - grants: instances is ["*"] or distinct declared instances of that business
---
duration_ms: 0.316738
type: 'test'
...
# Subtest: grants: any level other than collaborator or viewer refuses, naming grants[i].level
ok 18 - grants: any level other than collaborator or viewer refuses, naming grants[i].level
---
duration_ms: 0.372768
type: 'test'
...
# Subtest: grants: expires is optional ISO time, and a past expiry is not refused
ok 19 - grants: expires is optional ISO time, and a past expiry is not refused
---
duration_ms: 0.417075
type: 'test'
...
# Subtest: the context is required and checked
ok 20 - the context is required and checked
---
duration_ms: 0.269609
type: 'test'
...
# Subtest: loadAccess reads a valid file and checks it
ok 21 - loadAccess reads a valid file and checks it
---
duration_ms: 0.379495
type: 'test'
...
# Subtest: loadAccess refuses a missing file, a symlink and a directory with exit 4
ok 22 - loadAccess refuses a missing file, a symlink and a directory with exit 4
---
duration_ms: 0.278842
type: 'test'
...
# Subtest: loadAccess refuses another owner and group or other write
ok 23 - loadAccess refuses another owner and group or other write
---
duration_ms: 0.303728
type: 'test'
...
# Subtest: loadAccess refuses bad JSON and a bad document with exit 2
ok 24 - loadAccess refuses bad JSON and a bad document with exit 2
---
duration_ms: 0.301384
type: 'test'
...
# Subtest: covers: * and listed ids match
ok 25 - covers: * and listed ids match
---
duration_ms: 0.172143
type: 'test'
...
# Subtest: covers: an unlisted project, instance or business doesn't match
ok 26 - covers: an unlisted project, instance or business doesn't match
---
duration_ms: 0.110086
type: 'test'
...
# Subtest: covers: an expired grant doesn't match, at and after the instant
ok 27 - covers: an expired grant doesn't match, at and after the instant
---
duration_ms: 0.111698
type: 'test'
...
# Subtest: covers: level is the least level asked for (row 193a)
ok 28 - covers: level is the least level asked for (row 193a)
---
duration_ms: 0.107677
type: 'test'
...
# Subtest: covers: a missing or unknown level throws (row 193a, N1)
ok 29 - covers: a missing or unknown level throws (row 193a, N1)
---
duration_ms: 0.195382
type: 'test'
...
# Subtest: covers: a grant with an unknown level covers nothing (row 193a)
ok 30 - covers: a grant with an unknown level covers nothing (row 193a)
---
duration_ms: 0.089407
type: 'test'
...
# Subtest: covers: now must be a valid Date
ok 31 - covers: now must be a valid Date
---
duration_ms: 0.106144
type: 'test'
...
# Subtest: today's files load unchanged: identity, publish and remote are optional
ok 32 - today's files load unchanged: identity, publish and remote are optional
---
duration_ms: 4.860046
type: 'test'
...
# Subtest: a granted agent loads with its identity, grant and the project's upstream
ok 33 - a granted agent loads with its identity, grant and the project's upstream
---
duration_ms: 1.853965
type: 'test'
...
# Subtest: N10: publish needs identity and a gitea definition, and the error names the grant
ok 34 - N10: publish needs identity and a gitea definition, and the error names the grant
---
duration_ms: 2.012026
type: 'test'
...
# Subtest: publish names declared projects that have a remote, each once
ok 35 - publish names declared projects that have a remote, each once
---
duration_ms: 2.769912
type: 'test'
...
# Subtest: identity fields are checked
ok 36 - identity fields are checked
---
duration_ms: 2.840112
type: 'test'
...
# Subtest: D9c: the upstream must be its own normalized form, exactly /OWNER/REPO
ok 37 - D9c: the upstream must be its own normalized form, exactly /OWNER/REPO
---
duration_ms: 8.26046
type: 'test'
...
# Subtest: D9c: one .git is stripped, and the fork is built from the stripped name
ok 38 - D9c: one .git is stripped, and the fork is built from the stripped name
---
duration_ms: 0.652902
type: 'test'
...
# Subtest: D9c: gitea.url names the instance only
ok 39 - D9c: gitea.url names the instance only
---
duration_ms: 2.625989
type: 'test'
...
# Subtest: the upstream's host and port must be the agent's Gitea's
ok 40 - the upstream's host and port must be the agent's Gitea's
---
duration_ms: 1.269223
type: 'test'
...
# Subtest: remote-not-fork: an upstream the agent's own user owns, compared without case
ok 41 - remote-not-fork: an upstream the agent's own user owns, compared without case
---
duration_ms: 1.266086
type: 'test'
...
# Subtest: store references: own path only (design D1, D3a)
ok 42 - store references: own path only (design D1, D3a)
---
duration_ms: 0.229252
type: 'test'
...
# Subtest: the role file loads and resolves through loadBusiness
ok 43 - the role file loads and resolves through loadBusiness
---
duration_ms: 5.039801
type: 'test'
...
# Subtest: the shipped file is exactly the approved list
ok 44 - the shipped file is exactly the approved list
---
duration_ms: 0.553056
type: 'test'
...
# Subtest: the assistant's authority is message.send and record.write within role
ok 45 - the assistant's authority is message.send and record.write within role
---
duration_ms: 1.467348
type: 'test'
...
# Subtest: the assistant talks to the user and the chief of staff only, and no other shipped role is limited
ok 46 - the assistant talks to the user and the chief of staff only, and no other shipped role is limited
---
duration_ms: 0.615728
type: 'test'
...
# Subtest: a business grant through limits does not widen the role
ok 47 - a business grant through limits does not widen the role
---
duration_ms: 4.764314
type: 'test'
...
# Subtest: a launch block whose by is the assistant is refused
ok 48 - a launch block whose by is the assistant is refused
---
duration_ms: 1.236799
type: 'test'
...
# Subtest: the instance takes no credential references and no tracker
ok 49 - the instance takes no credential references and no tracker
---
duration_ms: 1.587369
type: 'test'
...
# Subtest: an arbiter whose role definition declares messaging lists is refused, for each kind
ok 50 - an arbiter whose role definition declares messaging lists is refused, for each kind
---
duration_ms: 3.266375
type: 'test'
...
# Subtest: an arbiter without messaging lists is accepted beside the limited assistant
ok 51 - an arbiter without messaging lists is accepted beside the limited assistant
---
duration_ms: 1.426671
type: 'test'
...
# Subtest: the contract passes work to the chief of staff and directs no one
ok 52 - the contract passes work to the chief of staff and directs no one
---
duration_ms: 0.955891
type: 'test'
...
# Subtest: REQ-HARN-2: the assistant, companion and research hold the web grant, and no other role file does
ok 53 - REQ-HARN-2: the assistant, companion and research hold the web grant, and no other role file does
---
duration_ms: 3.489716
type: 'test'
...
# Subtest: C2-04: library mappings load without roots, remain frozen, and retain mapping refusals
ok 54 - C2-04: library mappings load without roots, remain frozen, and retain mapping refusals
---
duration_ms: 10.882024
type: 'test'
...
# Subtest: C2-04: an otherwise valid publish grant cannot name a library repo
ok 55 - C2-04: an otherwise valid publish grant cannot name a library repo
---
duration_ms: 1.46823
type: 'test'
...
# Subtest: config directory and file path follow MOSAIC_CONFIG
ok 56 - config directory and file path follow MOSAIC_CONFIG
---
duration_ms: 0.195759
type: 'test'
...
# Subtest: the fixture business validates and comes back frozen
ok 57 - the fixture business validates and comes back frozen
---
duration_ms: 0.949014
type: 'test'
...
# Subtest: two instances may share a definition
ok 58 - two instances may share a definition
---
duration_ms: 0.918951
type: 'test'
...
# Subtest: top-level refusals
ok 59 - top-level refusals
---
duration_ms: 2.582393
type: 'test'
...
# Subtest: arbiters and projects
ok 60 - arbiters and projects
---
duration_ms: 4.022674
type: 'test'
...
# Subtest: role instances
ok 61 - role instances
---
duration_ms: 1.979521
type: 'test'
...
# Subtest: Vikunja bots
ok 62 - Vikunja bots
---
duration_ms: 4.771263
type: 'test'
...
# Subtest: a role without Vikunja takes no tracker block
ok 63 - a role without Vikunja takes no tracker block
---
duration_ms: 3.386989
type: 'test'
...
# Subtest: credential references match the definition's services
ok 64 - credential references match the definition's services
---
duration_ms: 2.046415
type: 'test'
...
# Subtest: launch
ok 65 - launch
---
duration_ms: 7.071682
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 launch.threadIdleSeconds: absent is the default, a positive integer is used, anything else refuses
ok 66 - REQ-THREAD-2 REQ-LAUNCH-1 launch.threadIdleSeconds: absent is the default, a positive integer is used, anything else refuses
---
duration_ms: 3.791886
type: 'test'
...
# Subtest: loadBusiness: file checks
ok 67 - loadBusiness: file checks
---
duration_ms: 1.7915
type: 'test'
...
# Subtest: loadBusiness: not a regular file
ok 68 - loadBusiness: not a regular file
---
duration_ms: 40.53479
type: 'test'
...
# Subtest: loading writes nothing
ok 69 - loading writes nothing
---
duration_ms: 1.071271
type: 'test'
...
# Subtest: names that are Object.prototype properties don't count as declared
ok 70 - names that are Object.prototype properties don't count as declared
---
duration_ms: 2.940556
type: 'test'
...
# Subtest: the shipped example refuses as written and validates once filled in
ok 71 - the shipped example refuses as written and validates once filled in
---
duration_ms: 1.066194
type: 'test'
...
# Subtest: persona vars: agent layer, creative definition only, both or neither
ok 72 - persona vars: agent layer, creative definition only, both or neither
---
duration_ms: 7.536341
type: 'test'
...
# Subtest: row 194 keep, noHire and retired validate, and a file without them loads as before
ok 73 - row 194 keep, noHire and retired validate, and a file without them loads as before
---
duration_ms: 1.74472
type: 'test'
...
# Subtest: row 194 each bad keep, noHire or retired entry refuses
ok 74 - row 194 each bad keep, noHire or retired entry refuses
---
duration_ms: 4.944111
type: 'test'
...
# Subtest: row 323: committed Case 1 document loads unchanged through the business loader
ok 75 - row 323: committed Case 1 document loads unchanged through the business loader
---
duration_ms: 3.918271
type: 'test'
...
# Subtest: row 323: real business validate accepts the Case 1 fixture without tracker credentials
ok 76 - row 323: real business validate accepts the Case 1 fixture without tracker credentials
---
duration_ms: 59.023801
type: 'test'
...
# Subtest: row 323: real factory install accepts the document's scratch input and writes it unchanged
ok 77 - row 323: real factory install accepts the document's scratch input and writes it unchanged
---
duration_ms: 157.158626
type: 'test'
...
# Subtest: row 323: the Case 1 business boots without a tracker or @sync credential
ok 78 - row 323: the Case 1 business boots without a tracker or @sync credential
---
duration_ms: 55.768448
type: 'test'
...
# Subtest: row 323: factory install refuses bus.tester false before writing
ok 79 - row 323: factory install refuses bus.tester false before writing
---
duration_ms: 33.452341
type: 'test'
...
# Subtest: row 323: literal library key refuses through final business validation
ok 80 - row 323: literal library key refuses through final business validation
---
duration_ms: 151.936403
type: 'test'
...
# Subtest: row 323: a library project refuses through the factory profile plan
ok 81 - row 323: a library project refuses through the factory profile plan
---
duration_ms: 33.782836
type: 'test'
...
# Subtest: row 325: the Case 1 project's sole key matches the repository project id
ok 82 - row 325: the Case 1 project's sole key matches the repository project id
---
duration_ms: 1.362733
type: 'test'
...
# Subtest: row 325: real business validate reports the copied repository project valid
ok 83 - row 325: real business validate reports the copied repository project valid
---
duration_ms: 62.466168
type: 'test'
...
# Subtest: row 325: the old mosaic-stack project key refuses against those same project bytes
ok 84 - row 325: the old mosaic-stack project key refuses against those same project bytes
---
duration_ms: 62.690903
type: 'test'
...
# Subtest: the role file loads and resolves through loadBusiness
ok 85 - the role file loads and resolves through loadBusiness
---
duration_ms: 5.494346
type: 'test'
...
# Subtest: the shipped file is exactly the approved list
ok 86 - the shipped file is exactly the approved list
---
duration_ms: 0.177636
type: 'test'
...
# Subtest: the resolved record matches the approved list, so a widened file fails
ok 87 - the resolved record matches the approved list, so a widened file fails
---
duration_ms: 1.410569
type: 'test'
...
# Subtest: the chief of staff holds role.launch, message.send, role.end, organization.change, record.write, instance.name, role.hire and role.fire; every other action is gated
ok 88 - the chief of staff holds role.launch, message.send, role.end, organization.change, record.write, instance.name, role.hire and role.fire; every other action is gated
---
duration_ms: 1.314988
type: 'test'
...
# Subtest: the pm does not hold role.launch
ok 89 - the pm does not hold role.launch
---
duration_ms: 1.448417
type: 'test'
...
# Subtest: a business grant of a gated action through limits does not widen the role
ok 90 - a business grant of a gated action through limits does not widen the role
---
duration_ms: 1.167946
type: 'test'
...
# Subtest: a limit that drops role.launch leaves the chief of staff with no launch block
ok 91 - a limit that drops role.launch leaves the chief of staff with no launch block
---
duration_ms: 0.912202
type: 'test'
...
# Subtest: a launch block whose by is the pm instance is refused
ok 92 - a launch block whose by is the pm instance is refused
---
duration_ms: 1.173552
type: 'test'
...
# Subtest: the contract names no duty to talk to the human and the pm contract no launch
ok 93 - the contract names no duty to talk to the human and the pm contract no launch
---
duration_ms: 0.300021
type: 'test'
...
# Subtest: the instance takes no credential references and no tracker
ok 94 - the instance takes no credential references and no tracker
---
duration_ms: 1.817956
type: 'test'
...
# Subtest: C2-04: business validate and resolve skip a library before code projects and credential checks
ok 95 - C2-04: business validate and resolve skip a library before code projects and credential checks
---
duration_ms: 202.461208
type: 'test'
...
# Subtest: usage errors exit 4
ok 96 - usage errors exit 4
---
duration_ms: 272.594428
type: 'test'
...
# Subtest: validate: a good business exits 0 and prints instance digests
ok 97 - validate: a good business exits 0 and prints instance digests
---
duration_ms: 70.124857
type: 'test'
...
# Subtest: validate: project files
ok 98 - validate: project files
---
duration_ms: 322.230087
type: 'test'
...
# Subtest: validate: missing files and a broken system config
ok 99 - validate: missing files and a broken system config
---
duration_ms: 228.840288
type: 'test'
...
# Subtest: validate: credential reference problems exit 2 and name each one
ok 100 - validate: credential reference problems exit 2 and name each one
---
duration_ms: 67.865805
type: 'test'
...
# Subtest: validate: a not-issued store agent dated today passes, and an issued one with a past expiry fails
ok 101 - validate: a not-issued store agent dated today passes, and an issued one with a past expiry fails
---
duration_ms: 129.406811
type: 'test'
...
# Subtest: validate: a token file inside the repository is refused
ok 102 - validate: a token file inside the repository is refused
---
duration_ms: 69.546335
type: 'test'
...
# Subtest: validate: role definitions come from MOSAIC_ROLES_DIR
ok 103 - validate: role definitions come from MOSAIC_ROLES_DIR
---
duration_ms: 198.052017
type: 'test'
...
# Subtest: resolve: prints one instance's record
ok 104 - resolve: prints one instance's record
---
duration_ms: 267.218193
type: 'test'
...
# Subtest: resolve: refusals
ok 105 - resolve: refusals
---
duration_ms: 380.417689
type: 'test'
...
# Subtest: parse: exactly one of file or env, plus the service's date
ok 106 - parse: exactly one of file or env, plus the service's date
---
duration_ms: 1.860826
type: 'test'
...
# Subtest: check: a good file has no problems
ok 107 - check: a good file has no problems
---
duration_ms: 0.613884
type: 'test'
...
# Subtest: check never opens the file: a write-only token passes
ok 108 - check never opens the file: a write-only token passes
---
duration_ms: 0.258551
type: 'test'
...
# Subtest: check: file problems
ok 109 - check: file problems
---
duration_ms: 0.645272
type: 'test'
...
# Subtest: check: token files can't live in the repository or dataRoot, even through a linked directory
ok 110 - check: token files can't live in the repository or dataRoot, even through a linked directory
---
duration_ms: 0.607703
type: 'test'
...
# Subtest: check: dates and environment references
ok 111 - check: dates and environment references
---
duration_ms: 0.295511
type: 'test'
...
# Subtest: each definition loads, with a contract file, and is exactly the approved list
ok 112 - each definition loads, with a contract file, and is exactly the approved list
---
duration_ms: 2.350764
type: 'test'
...
# Subtest: an organization file that declares them passes, and each resolves to least privilege
ok 113 - an organization file that declares them passes, and each resolves to least privilege
---
duration_ms: 4.488141
type: 'test'
...
# Subtest: the chief of staff launches each one; no other role does
ok 114 - the chief of staff launches each one; no other role does
---
duration_ms: 2.362049
type: 'test'
...
# Subtest: a C-suite role can't be made the launcher: launch.by must hold role.launch
ok 115 - a C-suite role can't be made the launcher: launch.by must hold role.launch
---
duration_ms: 1.265672
type: 'test'
...
# Subtest: limits can narrow a C-suite role but never widen it
ok 116 - limits can narrow a C-suite role but never widen it
---
duration_ms: 1.293898
type: 'test'
...
# Subtest: any unknown key, tool, action or version in a role file is refused
ok 117 - any unknown key, tool, action or version in a role file is refused
---
duration_ms: 0.390462
type: 'test'
...
# Subtest: row 298: checkGrantScope takes the D2 shape and refuses anything else
ok 118 - row 298: checkGrantScope takes the D2 shape and refuses anything else
---
duration_ms: 1.208581
type: 'test'
...
# Subtest: row 298: a missing scope is empty and a bad one falls back to empty, which covers nothing
ok 119 - row 298: a missing scope is empty and a bad one falls back to empty, which covers nothing
---
duration_ms: 0.226655
type: 'test'
...
# Subtest: row 298: a Gitea grant is in scope only when its agent and every project are listed
ok 120 - row 298: a Gitea grant is in scope only when its agent and every project are listed
---
duration_ms: 0.110045
type: 'test'
...
# Subtest: row 298 (sage-3594 Q2): host commands match whole argv tokens, and enrollment is never in scope
ok 121 - row 298 (sage-3594 Q2): host commands match whole argv tokens, and enrollment is never in scope
---
duration_ms: 0.160261
type: 'test'
...
# Subtest: row 298: a bad grantScope in the file still loads, and the read shows the fallback
ok 122 - row 298: a bad grantScope in the file still loads, and the read shows the fallback
---
duration_ms: 8.159
type: 'test'
...
# Subtest: row 298: the writer checks the scope, logs the change and removes the key for {}
ok 123 - row 298: the writer checks the scope, logs the change and removes the key for {}
---
duration_ms: 29.000935
type: 'test'
...
# Subtest: row 298 (sage-3594 Q1): the general writers can't write grantScope
ok 124 - row 298 (sage-3594 Q1): the general writers can't write grantScope
---
duration_ms: 5.964765
type: 'test'
...
# Subtest: REQ-WAIT-1: GATED_ONLY is exactly the hard waits; the new actions are in the vocabulary
ok 125 - REQ-WAIT-1: GATED_ONLY is exactly the hard waits; the new actions are in the vocabulary
---
duration_ms: 0.86658
type: 'test'
...
# Subtest: REQ-ROLE-2: END_PROTECTED includes the assistant's thread definition
ok 126 - REQ-ROLE-2: END_PROTECTED includes the assistant's thread definition
---
duration_ms: 0.120414
type: 'test'
...
# Subtest: REQ-COS-3: role.hire and role.fire are routed, not hard waits
ok 127 - REQ-COS-3: role.hire and role.fire are routed, not hard waits
---
duration_ms: 0.093009
type: 'test'
...
# Subtest: REQ-WAIT-3: every action is routed or a hard wait, never both, and the routed list names only actions
ok 128 - REQ-WAIT-3: every action is routed or a hard wait, never both, and the routed list names only actions
---
duration_ms: 0.123379
type: 'test'
...
# Subtest: REQ-WAIT-3: instance.name is routed under REQ-MSG-2 (1.5), not a hard wait (row 141, sage-0589)
ok 129 - REQ-WAIT-3: instance.name is routed under REQ-MSG-2 (1.5), not a hard wait (row 141, sage-0589)
---
duration_ms: 0.079928
type: 'test'
...
# Subtest: REQ-WAIT-2: a role listing a hard wait at either class is refused; the actions that left can be granted
ok 130 - REQ-WAIT-2: a role listing a hard wait at either class is refused; the actions that left can be granted
---
duration_ms: 2.490576
type: 'test'
...
# Subtest: S1: the business file refuses hosts at the top level and in a role, and host.<id> references
ok 131 - S1: the business file refuses hosts at the top level and in a role, and host.<id> references
---
duration_ms: 12.390365
type: 'test'
...
# Subtest: T1: address, user and host key checks, which the enrollment raise uses
ok 132 - T1: address, user and host key checks, which the enrollment raise uses
---
duration_ms: 4.567719
type: 'test'
...
# Subtest: T26: no wildcard and no shell, runner or interpreter as a prefix
ok 133 - T26: no wildcard and no shell, runner or interpreter as a prefix
---
duration_ms: 1.410887
type: 'test'
...
# Subtest: D6: argv shape and the literal prefix match
ok 134 - D6: argv shape and the literal prefix match
---
duration_ms: 0.274399
type: 'test'
...
# Subtest: C2-04: instance settings skip a library while checking a later code project
ok 135 - C2-04: instance settings skip a library while checking a later code project
---
duration_ms: 24.648482
type: 'test'
...
# Subtest: row 165 read lists each instance and the definitions add accepts
ok 136 - row 165 read lists each instance and the definitions add accepts
---
duration_ms: 2.549247
type: 'test'
...
# Subtest: row 165 add: two instances join, validate exits 0, the log names the human, and the writer asks for no restart (row 194, D3)
ok 137 - row 165 add: two instances join, validate exits 0, the log names the human, and the writer asks for no restart (row 194, D3)
---
duration_ms: 84.539915
type: 'test'
...
# Subtest: row 165 change: definition, vars and launch membership log before and after; none asks for a restart, the bus reloads (row 194, D3)
ok 138 - row 165 change: definition, vars and launch membership log before and after; none asks for a restart, the bus reloads (row 194, D3)
---
duration_ms: 97.885843
type: 'test'
...
# Subtest: row 165 refuses each validation failure and leaves the file's bytes alone
ok 139 - row 165 refuses each validation failure and leaves the file's bytes alone
---
duration_ms: 33.10544
type: 'test'
...
# Subtest: T19 add of a credentialed definition writes store references dated today, names its bot, and validate exits 0
ok 140 - T19 add of a credentialed definition writes store references dated today, names its bot, and validate exits 0
---
duration_ms: 83.408873
type: 'test'
...
# Subtest: T19 add of a definition that declares host writes references for its token services only
ok 141 - T19 add of a definition that declares host writes references for its token services only
---
duration_ms: 9.593552
type: 'test'
...
# Subtest: row 165 refuses a definition change to or from one that declares credentials
ok 142 - row 165 refuses a definition change to or from one that declares credentials
---
duration_ms: 6.222961
type: 'test'
...
# Subtest: row 165 a vars or launch change on an instance with its binding succeeds and keeps the binding
ok 143 - row 165 a vars or launch change on an instance with its binding succeeds and keeps the binding
---
duration_ms: 76.120813
type: 'test'
...
# Subtest: row 165 refuses an END_PROTECTED definition and every change to a protected instance
ok 144 - row 165 refuses an END_PROTECTED definition and every change to a protected instance
---
duration_ms: 8.116746
type: 'test'
...
# Subtest: row 165 refuses while a project file doesn't resolve, as validate would
ok 145 - row 165 refuses while a project file doesn't resolve, as validate would
---
duration_ms: 16.224685
type: 'test'
...
# Subtest: row 165 refuses a stale revision and leaves the file's bytes alone
ok 146 - row 165 refuses a stale revision and leaves the file's bytes alone
---
duration_ms: 9.58479
type: 'test'
...
# Subtest: row 65 an instance write refuses harness-off, thinking-unsupported, an unknown model and a partial fallback
ok 147 - row 65 an instance write refuses harness-off, thinking-unsupported, an unknown model and a partial fallback
---
duration_ms: 31.102417
type: 'test'
...
# Subtest: row 213 a creative instance is the human's: add, vars and definition changes, persona digest only
ok 148 - row 213 a creative instance is the human's: add, vars and definition changes, persona digest only
---
duration_ms: 89.195729
type: 'test'
...
# Subtest: row 256 T1-T3, T5 the human deletes a creative instance, no other actor does, and the assistant stays
ok 149 - row 256 T1-T3, T5 the human deletes a creative instance, no other actor does, and the assistant stays
---
duration_ms: 94.519253
type: 'test'
...
# Subtest: row 256 T4 the human's delete of the only listed instance, a creative one, is the last-listed refusal
ok 150 - row 256 T4 the human's delete of the only listed instance, a creative one, is the last-listed refusal
---
duration_ms: 3.184877
type: 'test'
...
# Subtest: REQ-LIMIT-1 schema: every scope unset or zero, adjustable above four, bad values and unknown models refuse
ok 151 - REQ-LIMIT-1 schema: every scope unset or zero, adjustable above four, bad values and unknown models refuse
---
duration_ms: 11.553185
type: 'test'
...
# Subtest: REQ-LIMIT-1 counts each exact scope at/over limit, unlimited and old tuple after model reassignment
ok 152 - REQ-LIMIT-1 counts each exact scope at/over limit, unlimited and old tuple after model reassignment
---
duration_ms: 0.602786
type: 'test'
...
# Subtest: REQ-ROLE-3 writer: atomic validated revision, immutable previous bytes and authenticated actor/old/new receipt
ok 153 - REQ-ROLE-3 writer: atomic validated revision, immutable previous bytes and authenticated actor/old/new receipt
---
duration_ms: 17.349824
type: 'test'
...
# Subtest: REQ-ROLE-3 writer: pre-rename fault leaves old file, post-rename recovery records commit, conflicting recovery refuses
ok 154 - REQ-ROLE-3 writer: pre-rename fault leaves old file, post-rename recovery records commit, conflicting recovery refuses
---
duration_ms: 13.592421
type: 'test'
...
# Subtest: REQ-LIMIT-1 / decision145 migration prints only, preserves values, rejects ambiguity, and is idempotent
ok 155 - REQ-LIMIT-1 / decision145 migration prints only, preserves values, rejects ambiguity, and is idempotent
---
duration_ms: 3.146302
type: 'test'
...
# Subtest: REQ-LIMIT-1 shared settings validates the complete proposed selection and logs exact actor
ok 156 - REQ-LIMIT-1 shared settings validates the complete proposed selection and logs exact actor
---
duration_ms: 19.294493
type: 'test'
...
# Subtest: REQ-LIMIT-1 provider is table data: another provider routes separately and aliases share exact counts
ok 157 - REQ-LIMIT-1 provider is table data: another provider routes separately and aliases share exact counts
---
duration_ms: 2.236108
type: 'test'
...
# Subtest: REQ-ROLE-3 refuses live writer locks, symlink targets and uncertain recovery without changing bytes
ok 158 - REQ-ROLE-3 refuses live writer locks, symlink targets and uncertain recovery without changing bytes
---
duration_ms: 9.002687
type: 'test'
...
# Subtest: Q169 assistants: vars and definition change and log the actor; tracker null leaves no tracker
ok 159 - Q169 assistants: vars and definition change and log the actor; tracker null leaves no tracker
---
duration_ms: 15.790059
type: 'test'
...
# Subtest: Q169 assistants: refuses other instances, other definitions, holder and credentials, empty entries, a tracker the definition has no credential for and a stale revision
ok 160 - Q169 assistants: refuses other instances, other definitions, holder and credentials, empty entries, a tracker the definition has no credential for and a stale revision
---
duration_ms: 17.409641
type: 'test'
...
# Subtest: Q169 assistants: a definition with a vikunja credential takes a tracker change and refuses its removal or a used bot
ok 161 - Q169 assistants: a definition with a vikunja credential takes a tracker change and refuses its removal or a used bot
---
duration_ms: 11.730195
type: 'test'
...
# Subtest: row 65 routes lists every instance with harness, model, thinking and fallback, the switched-on harnesses, the model keys and each harness's levels
ok 162 - row 65 routes lists every instance with harness, model, thinking and fallback, the switched-on harnesses, the model keys and each harness's levels
---
duration_ms: 2.189332
type: 'test'
...
# Subtest: row 65 setRoutes saves a harness, model, thinking and whole fallback, reads each back from the file, logs the actor, and a null fallback clears all three
ok 163 - row 65 setRoutes saves a harness, model, thinking and whole fallback, reads each back from the file, logs the actor, and a null fallback clears all three
---
duration_ms: 14.588568
type: 'test'
...
# Subtest: row 65 setRoutes refuses a partial fallback, a switched-off harness, a level the harness doesn't apply, an unloaded module, an unknown model or instance, a malformed route, no change and a stale revision, with the file unchanged
ok 164 - row 65 setRoutes refuses a partial fallback, a switched-off harness, a level the harness doesn't apply, an unloaded module, an unknown model or instance, a malformed route, no change and a stale revision, with the file unchanged
---
duration_ms: 19.042266
type: 'test'
...
# Subtest: row 65 a file with harness vars and no plugins.harness loads and its views read; a model change still saves, and a route change refuses harness-off
ok 165 - row 65 a file with harness vars and no plugins.harness loads and its views read; a model change still saves, and a route change refuses harness-off
---
duration_ms: 9.580858
type: 'test'
...
# Subtest: B7 kept instance: the models keys it names and the instances key are the human's
ok 166 - B7 kept instance: the models keys it names and the instances key are the human's
---
duration_ms: 23.901546
type: 'test'
...
# Subtest: B7 kept instance: its route is the human's
ok 167 - B7 kept instance: its route is the human's
---
duration_ms: 9.337811
type: 'test'
...
# Subtest: M10 creative instance: models keys it names, the instances key and its route are the human's
ok 168 - M10 creative instance: models keys it names, the instances key and its route are the human's
---
duration_ms: 31.279176
type: 'test'
...
# Subtest: C2-04 M9: changed playground and hybrid entries leave business and changes.jsonl byte-identical
ok 169 - C2-04 M9: changed playground and hybrid entries leave business and changes.jsonl byte-identical
---
duration_ms: 20.468532
type: 'test'
...
# Subtest: C2-04 M9: code projects, additions, deletions and array changes are protected too
ok 170 - C2-04 M9: code projects, additions, deletions and array changes are protected too
---
duration_ms: 16.044927
type: 'test'
...
# Subtest: C2-04 M9: canonical key order is allowed and a non-project setter still records its change
ok 171 - C2-04 M9: canonical key order is allowed and a non-project setter still records its change
---
duration_ms: 12.311204
type: 'test'
...
# Subtest: C2-04 M9: a serialization hook cannot change projects after the canonical comparison
ok 172 - C2-04 M9: a serialization hook cannot change projects after the canonical comparison
---
duration_ms: 10.590446
type: 'test'
...
# Subtest: M7/M8: library seats come from library businesses, creative seats from their creative definitions
ok 173 - M7/M8: library seats come from library businesses, creative seats from their creative definitions
---
duration_ms: 6.110258
type: 'test'
...
# Subtest: M8: a business with no library project puts no seat in either set
ok 174 - M8: a business with no library project puts no seat in either set
---
duration_ms: 1.61657
type: 'test'
...
# Subtest: M7/M8: a business file that is not valid JSON throws; no empty set
ok 175 - M7/M8: a business file that is not valid JSON throws; no empty set
---
duration_ms: 1.585379
type: 'test'
...
# Subtest: M7/M8: an absent businesses directory gives empty sets
ok 176 - M7/M8: an absent businesses directory gives empty sets
---
duration_ms: 0.306707
type: 'test'
...
# Subtest: M7/M8: a businesses path that is not a directory throws; no empty set
ok 177 - M7/M8: a businesses path that is not a directory throws; no empty set
---
duration_ms: 0.436102
type: 'test'
...
# Subtest: M7/M8: a businesses symlink to a missing target throws; no empty set
ok 178 - M7/M8: a businesses symlink to a missing target throws; no empty set
---
duration_ms: 0.660106
type: 'test'
...
# Subtest: M7/M8: a config directory under a regular file throws (lstat fails with ENOTDIR); no empty set
ok 179 - M7/M8: a config directory under a regular file throws (lstat fails with ENOTDIR); no empty set
---
duration_ms: 0.270317
type: 'test'
...
# Subtest: M7/M8: a business file that can't be read throws; no empty set
ok 180 - M7/M8: a business file that can't be read throws; no empty set
---
duration_ms: 0.766045
type: 'test'
...
# Subtest: T6 delete refuses in the design's order and leaves the file's bytes alone
ok 181 - T6 delete refuses in the design's order and leaves the file's bytes alone
---
duration_ms: 28.082152
type: 'test'
...
# Subtest: T6 delete refuses the last listed instance
ok 182 - T6 delete refuses the last listed instance
---
duration_ms: 3.120566
type: 'test'
...
# Subtest: T6 a clean delete removes the entry and its own references, adds retired, and the name can't come back
ok 183 - T6 a clean delete removes the entry and its own references, adds retired, and the name can't come back
---
duration_ms: 84.120433
type: 'test'
...
# Subtest: T7 veto: keep, unkeep, nohire and hire each write once, a repeat is no change, and the log names the human
ok 184 - T7 veto: keep, unkeep, nohire and hire each write once, a repeat is no change, and the log names the human
---
duration_ms: 116.719676
type: 'test'
...
# Subtest: T7 veto refuses an unknown or END_PROTECTED keep, a bad request, a stale revision and a business without launch
ok 185 - T7 veto refuses an unknown or END_PROTECTED keep, a bad request, a stale revision and a business without launch
---
duration_ms: 17.755461
type: 'test'
...
# Subtest: D2.2 hire adds and lists a new instance, logs the chief's context, and sets only model and limits
ok 186 - D2.2 hire adds and lists a new instance, logs the chief's context, and sets only model and limits
---
duration_ms: 79.325549
type: 'test'
...
# Subtest: D2.2 hire refuses noHire, a kept name and a listed name, and re-lists a fired one only as it was
ok 187 - D2.2 hire refuses noHire, a kept name and a listed name, and re-lists a fired one only as it was
---
duration_ms: 22.396454
type: 'test'
...
# Subtest: D2.2 fire delists and keeps the entry, a repeat is done with no write, and each refusal holds
ok 188 - D2.2 fire delists and keeps the entry, a repeat is done with no write, and each refusal holds
---
duration_ms: 80.460041
type: 'test'
...
# Subtest: row 256 checkDelete passes the human's creative delete and refuses another actor's; fire still refuses
ok 189 - row 256 checkDelete passes the human's creative delete and refuses another actor's; fire still refuses
---
duration_ms: 4.456096
type: 'test'
...
# Subtest: row 239 T1 a fire on a revision that goes stale before the writer's lock refuses there and revokes nothing
ok 190 - row 239 T1 a fire on a revision that goes stale before the writer's lock refuses there and revokes nothing
---
duration_ms: 4.550672
type: 'test'
...
# Subtest: row 239 T2 a write after the revoke refused before publication carries revoked, and the file keeps the edit
ok 191 - row 239 T2 a write after the revoke refused before publication carries revoked, and the file keeps the edit
---
duration_ms: 6.912901
type: 'test'
...
# Subtest: row 239 T3 any error after the revoke carries revoked, for a fire and a delete; a revoke that throws carries nothing
ok 192 - row 239 T3 any error after the revoke carries revoked, for a fire and a delete; a revoke that throws carries nothing
---
duration_ms: 24.238549
type: 'test'
...
# Subtest: Q247: omitting tracker loads as null and preserves independent role bots
ok 193 - Q247: omitting tracker loads as null and preserves independent role bots
---
duration_ms: 4.758964
type: 'test'
...
# Subtest: Q247: real business validate passes without a sync credential reference or file
ok 194 - Q247: real business validate passes without a sync credential reference or file
---
duration_ms: 67.504694
type: 'test'
...
# Subtest: Q247: present tracker retains its values and validation without mutating the input
ok 195 - Q247: present tracker retains its values and validation without mutating the input
---
duration_ms: 2.371401
type: 'test'
...
# Subtest: Q247: present null, undefined and malformed trackers still refuse
ok 196 - Q247: present null, undefined and malformed trackers still refuse
---
duration_ms: 3.791166
type: 'test'
...
# Subtest: Q247: absent business tracker does not waive a role's Vikunja bot requirement
ok 197 - Q247: absent business tracker does not waive a role's Vikunja bot requirement
---
duration_ms: 0.778438
type: 'test'
...
# Subtest: REQ-PLUG-1 schema: plugins is optional, names known kinds and checked module names
ok 198 - REQ-PLUG-1 schema: plugins is optional, names known kinds and checked module names
---
duration_ms: 10.154114
type: 'test'
...
# Subtest: REQ-PLUG-1 REQ-ROLE-3 the setter writes plugins through the organization writer and logs old and new names
ok 199 - REQ-PLUG-1 REQ-ROLE-3 the setter writes plugins through the organization writer and logs old and new names
---
duration_ms: 21.483093
type: 'test'
...
# Subtest: vikunja:19/309 a patch changes only the kinds it names; null removes one kind, explicitly and in the trail
ok 200 - vikunja:19/309 a patch changes only the kinds it names; null removes one kind, explicitly and in the trail
---
duration_ms: 23.329275
type: 'test'
...
# Subtest: vikunja:19/309 an unknown kind (set or removed), a bad module, an empty patch and null on the wrong shape are refused, nothing written
ok 201 - vikunja:19/309 an unknown kind (set or removed), a bad module, an empty patch and null on the wrong shape are refused, nothing written
---
duration_ms: 1.502658
type: 'test'
...
# Subtest: REQ-PLUG-1 REQ-ROLE-3 the writer checks the bytes it writes: a Date in plugins is refused there too
ok 202 - REQ-PLUG-1 REQ-ROLE-3 the writer checks the bytes it writes: a Date in plugins is refused there too
---
duration_ms: 3.909633
type: 'test'
...
# Subtest: REQ-PLUG-1 REQ-ROLE-3 a refused setter write throws a code, changes nothing and logs nothing
ok 203 - REQ-PLUG-1 REQ-ROLE-3 a refused setter write throws a code, changes nothing and logs nothing
---
duration_ms: 1.481003
type: 'test'
...
# Subtest: vikunja:19/305 with an exists check, the setter refuses a module no tree file answers to, before anything is written
ok 204 - vikunja:19/305 with an exists check, the setter refuses a module no tree file answers to, before anything is written
---
duration_ms: 7.185207
type: 'test'
...
# Subtest: optional project repo is preserved and must be a normalized absolute path
ok 205 - optional project repo is preserved and must be a normalized absolute path
---
duration_ms: 7.925327
type: 'test'
...
# Subtest: loaded business project repo cannot be nested in any declared code checkout
ok 206 - loaded business project repo cannot be nested in any declared code checkout
---
duration_ms: 1.826018
type: 'test'
...
# Subtest: path and load
ok 207 - path and load
---
duration_ms: 1.60997
type: 'test'
...
# Subtest: refusals
ok 208 - refusals
---
duration_ms: 0.831688
type: 'test'
...
# Subtest: record.write is within-role for the eleven approved v2 agents, never gated-only
ok 209 - record.write is within-role for the eleven approved v2 agents, never gated-only
---
duration_ms: 2.106983
type: 'test'
...
# Subtest: C2-04: a library first in projects does not hide a later project layer
ok 210 - C2-04: a library first in projects does not hide a later project layer
---
duration_ms: 6.316233
type: 'test'
...
# Subtest: systemVars flattens the validated config
ok 211 - systemVars flattens the validated config
---
duration_ms: 0.765698
type: 'test'
...
# Subtest: precedence: system, business, project, project role, agent
ok 212 - precedence: system, business, project, project role, agent
---
duration_ms: 1.447919
type: 'test'
...
# Subtest: limits narrow the definition and never widen it
ok 213 - limits narrow the definition and never widen it
---
duration_ms: 2.033326
type: 'test'
...
# Subtest: role.launch stays within-role only for the instance the launch block names
ok 214 - role.launch stays within-role only for the instance the launch block names
---
duration_ms: 4.301605
type: 'test'
...
# Subtest: limits.authority without role.launch leaves the launcher with no launch block
ok 215 - limits.authority without role.launch leaves the launcher with no launch block
---
duration_ms: 1.466373
type: 'test'
...
# Subtest: limits.authority narrows cross-role actions too
ok 216 - limits.authority narrows cross-role actions too
---
duration_ms: 0.803265
type: 'test'
...
# Subtest: classify
ok 217 - classify
---
duration_ms: 0.805627
type: 'test'
...
# Subtest: the record carries what the broker and launcher need
ok 218 - the record carries what the broker and launcher need
---
duration_ms: 0.683776
type: 'test'
...
# Subtest: digest: key order doesn't matter, any value change does
ok 219 - digest: key order doesn't matter, any value change does
---
duration_ms: 5.446644
type: 'test'
...
# Subtest: refusals
ok 220 - refusals
---
duration_ms: 1.63415
type: 'test'
...
# Subtest: the four shipped version 2 roles load
ok 221 - the four shipped version 2 roles load
---
duration_ms: 2.316781
type: 'test'
...
# Subtest: shipped role scopes match addendum B section 2 and the SR runbook
ok 222 - shipped role scopes match addendum B section 2 and the SR runbook
---
duration_ms: 0.853261
type: 'test'
...
# Subtest: shipped authority follows the note's table
ok 223 - shipped authority follows the note's table
---
duration_ms: 4.523762
type: 'test'
...
# Subtest: every role file in roles/ loads through the validator, and a v2 contract exists
ok 224 - every role file in roles/ loads through the validator, and a v2 contract exists
---
duration_ms: 1.180447
type: 'test'
...
# Subtest: version 1 files keep loading with no authority
ok 225 - version 1 files keep loading with no authority
---
duration_ms: 0.790958
type: 'test'
...
# Subtest: the conductor policy isn't a role
ok 226 - the conductor policy isn't a role
---
duration_ms: 0.157602
type: 'test'
...
# Subtest: a missing role file is exit 4, a symbolic link too
ok 227 - a missing role file is exit 4, a symbolic link too
---
duration_ms: 0.306589
type: 'test'
...
# Subtest: version 2 refusals
ok 228 - version 2 refusals
---
duration_ms: 0.925478
type: 'test'
...
# Subtest: authority: closed vocabulary, no gated-only action, no overlap
ok 229 - authority: closed vocabulary, no gated-only action, no overlap
---
duration_ms: 1.385254
type: 'test'
...
# Subtest: messaging: optional, role definitions and human, never the tester
ok 230 - messaging: optional, role definitions and human, never the tester
---
duration_ms: 0.964617
type: 'test'
...
# Subtest: row 64 skills: optional, distinct skill directory names, none on version 1
ok 231 - row 64 skills: optional, distinct skill directory names, none on version 1
---
duration_ms: 0.903322
type: 'test'
...
# Subtest: credentials: Gitea scopes
ok 232 - credentials: Gitea scopes
---
duration_ms: 0.523793
type: 'test'
...
# Subtest: credentials: Vikunja scopes are a group-to-verbs map from the grantable list
ok 233 - credentials: Vikunja scopes are a group-to-verbs map from the grantable list
---
duration_ms: 0.636188
type: 'test'
...
# Subtest: credentials: services
ok 234 - credentials: services
---
duration_ms: 0.345318
type: 'test'
...
# Subtest: contract: a non-empty regular Markdown file beside the role file
ok 235 - contract: a non-empty regular Markdown file beside the role file
---
duration_ms: 0.394908
type: 'test'
...
# Subtest: the six creative roles load: read tools, message.send only, messaging with the human only
ok 236 - the six creative roles load: read tools, message.send only, messaging with the human only
---
duration_ms: 0.298162
type: 'test'
...
# Subtest: M1: a creative role file wider than read and answer is refused
ok 237 - M1: a creative role file wider than read and answer is refused
---
duration_ms: 0.935512
type: 'test'
...
# Subtest: hireable: HIRE_ALLOWED is exactly the six plain work actions, and every one is routed
ok 238 - hireable: HIRE_ALLOWED is exactly the six plain work actions, and every one is routed
---
duration_ms: 0.076694
type: 'test'
...
# Subtest: hireable: a list naming a definition that holds any refused action refuses at load, one case per action
ok 239 - hireable: a list naming a definition that holds any refused action refuses at load, one case per action
---
duration_ms: 5.540931
type: 'test'
...
# Subtest: hireable: a mixed definition refuses, a clean list loads, and the named file's own hireable isn't read
ok 240 - hireable: a mixed definition refuses, a clean list loads, and the named file's own hireable isn't read
---
duration_ms: 0.48177
type: 'test'
...
# Subtest: hireable: a missing, version 1, duplicate or badly named entry refuses, and the key is optional
ok 241 - hireable: a missing, version 1, duplicate or badly named entry refuses, and the key is optional
---
duration_ms: 1.432678
type: 'test'
...
# Subtest: the pm and the cto check a saved spec against settled decisions and work in flight, and answer with a BLOCK or an accept
ok 242 - the pm and the cto check a saved spec against settled decisions and work in flight, and answer with a BLOCK or an accept
---
duration_ms: 4.475151
type: 'test'
...
# Subtest: the chief of staff relays a BLOCK or an accept to the assistant as a reply to the message that carried it
ok 243 - the chief of staff relays a BLOCK or an accept to the assistant as a reply to the message that carried it
---
duration_ms: 0.410152
type: 'test'
...
# Subtest: the assistant summarizes a spec review in its own words and doesn't repeat the chief of staff's text
ok 244 - the assistant summarizes a spec review in its own words and doesn't repeat the chief of staff's text
---
duration_ms: 0.400249
type: 'test'
...
# Subtest: REQ-LIMIT-3 schema: each subject kind, limit 0 and no ceiling are accepted; bad limits, times, keys and undeclared instances refuse
ok 245 - REQ-LIMIT-3 schema: each subject kind, limit 0 and no ceiling are accepted; bad limits, times, keys and undeclared instances refuse
---
duration_ms: 12.14993
type: 'test'
...
# Subtest: REQ-LIMIT-3 the writer stamps since: a new limit gets now, a changed one keeps its time, a different time is refused
ok 246 - REQ-LIMIT-3 the writer stamps since: a new limit gets now, a changed one keeps its time, a different time is refused
---
duration_ms: 41.552952
type: 'test'
...
# Subtest: REQ-LIMIT-3 only tokens.* at schema depth holds token limits: agent limits named `limit` save as sent, and a token limit named `limit` is stamped and reset
ok 247 - REQ-LIMIT-3 only tokens.* at schema depth holds token limits: agent limits named `limit` save as sent, and a token limit named `limit` is stamped and reset
---
duration_ms: 41.826674
type: 'test'
...
# Subtest: REQ-LIMIT-3 a reset moves since to now, is logged with its actor, and refuses a path that is not a limit
ok 248 - REQ-LIMIT-3 a reset moves since to now, is logged with its actor, and refuses a path that is not a limit
---
duration_ms: 22.302269
type: 'test'
...
# Subtest: REQ-LIMIT-2 schema: launch.account names a credential set; a daily quota needs a reset and an IANA zone and names the account
ok 249 - REQ-LIMIT-2 schema: launch.account names a credential set; a daily quota needs a reset and an IANA zone and names the account
---
duration_ms: 21.734275
type: 'test'
...
# Subtest: REQ-LIMIT-2 the writer stamps a daily quota's since, keeps its reset and zone, and a reset moves since
ok 250 - REQ-LIMIT-2 the writer stamps a daily quota's since, keeps its reset and zone, and a reset moves since
---
duration_ms: 22.999196
type: 'test'
...
# Subtest: every key names known layers and a merge rule
ok 251 - every key names known layers and a merge rule
---
duration_ms: 0.603103
type: 'test'
...
# Subtest: unknown keys and wrong layers refuse
ok 252 - unknown keys and wrong layers refuse
---
duration_ms: 0.502101
type: 'test'
...
# Subtest: types
ok 253 - types
---
duration_ms: 1.534853
type: 'test'
...
# Subtest: merge: defaults, then the most specific layer wins
ok 254 - merge: defaults, then the most specific layer wins
---
duration_ms: 0.20583
type: 'test'
...
# Subtest: merge: limits only narrow, and provenance lists each source
ok 255 - merge: limits only narrow, and provenance lists each source
---
duration_ms: 0.282146
type: 'test'
...
# Subtest: merge doesn't change its inputs
ok 256 - merge doesn't change its inputs
---
duration_ms: 0.128929
type: 'test'
...
# Subtest: web.searxng takes https anywhere and http on loopback, so Jason's 127.0.0.1:8888 passes
ok 257 - web.searxng takes https anywhere and http on loopback, so Jason's 127.0.0.1:8888 passes
---
duration_ms: 0.140057
type: 'test'
...
# Subtest: both definitions load, with a contract file, and are exactly the approved lists
ok 258 - both definitions load, with a contract file, and are exactly the approved lists
---
duration_ms: 1.929203
type: 'test'
...
# Subtest: security-reviewer has no write or shell tool and classifies only the verdict as its own
ok 259 - security-reviewer has no write or shell tool and classifies only the verdict as its own
---
duration_ms: 4.211967
type: 'test'
...
# Subtest: merge-gate's only grant is git.merge.protected cross-role, and it has no write tool
ok 260 - merge-gate's only grant is git.merge.protected cross-role, and it has no write tool
---
duration_ms: 1.478053
type: 'test'
...
# Subtest: neither role can be an arbiter: its messaging lists refuse the business file (row 133)
ok 261 - neither role can be an arbiter: its messaging lists refuse the business file (row 133)
---
duration_ms: 3.88791
type: 'test'
...
# Subtest: every role contract carries the proactive line in its Authority section
ok 262 - every role contract carries the proactive line in its Authority section
---
duration_ms: 0.519574
type: 'test'
...
# Subtest: pm and chief-of-staff say where a raise goes under REQ-DEC-2
ok 263 - pm and chief-of-staff say where a raise goes under REQ-DEC-2
---
duration_ms: 0.468314
type: 'test'
...
# Subtest: the merge landing takes two runs: merge-gate, cto and chief-of-staff each say their part
ok 264 - the merge landing takes two runs: merge-gate, cto and chief-of-staff each say their part
---
duration_ms: 0.384537
type: 'test'
...
1..264
# tests 264
# suites 0
# pass 264
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 6478.924028