Rocko's packet agents/rocko/work/queue-73/ (candidate manifest bf4e5ed6, packet manifest 41ffcd5c, 53 files), their BUILD-LOG entry and SESSIONS line. Sage's SESSIONS line for the review request (comment 27467) and row 79 (#1573) for the stale text the packet names. Co-Authored-By: Claude Opus 5.5 <[email protected]>
105 lines
6.2 KiB
Plaintext
105 lines
6.2 KiB
Plaintext
✔ launch identity is stamped, payload identity is refused and stale holder cannot send (68.304242ms)
|
||
✔ decision classes route from policy; gated resolution is human-only, choice and target must match (36.220226ms)
|
||
✔ claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic (28.451192ms)
|
||
✔ launch events require a human CLI capability; generic emit cannot forge authority events (17.620543ms)
|
||
✔ within-role decisions close atomically and invalid options or blocking omissions refuse (17.134783ms)
|
||
✔ observer capabilities read human inbox but cannot mutate or forge launch identity (17.523052ms)
|
||
✔ task action subjects and linked decision trail are complete and ordered (28.196094ms)
|
||
✔ launch binding is durable and reconnecting requires the identical trusted record (11.654167ms)
|
||
✔ business isolation includes inherited object names and cross-business message references (17.773328ms)
|
||
✔ authority never transfers between action, run, target, unresolved or replaced role holder (63.640909ms)
|
||
✔ task projection uses schema current view, skipping earlier and equal-start polls (30.76888ms)
|
||
✔ revocation permanently bars the old run from reclaiming first, including after broker restart (72.884982ms)
|
||
✔ empty message references refuse before storage; refusal-evidence failure stays a typed error (38.656622ms)
|
||
✔ both arbiters require human resolution when their cross-role route is themselves (86.595811ms)
|
||
✔ systemVars flattens the validated config (3.418009ms)
|
||
✔ precedence: system, business, project, project role, agent (15.12961ms)
|
||
✔ limits narrow the definition and never widen it (32.983425ms)
|
||
✔ role.launch stays within-role only for the instance the launch block names (11.91897ms)
|
||
✔ limits.authority without role.launch leaves the launcher with no launch block (2.882384ms)
|
||
✔ limits.authority narrows cross-role actions too (3.171349ms)
|
||
✔ classify (3.090892ms)
|
||
✔ the record carries what the broker and launcher need (2.902871ms)
|
||
✔ digest: key order doesn't matter, any value change does (14.329947ms)
|
||
✔ refusals (3.553461ms)
|
||
✔ the four shipped version 2 roles load (6.936567ms)
|
||
✔ shipped role scopes match addendum B section 2 and the SR runbook (1.580417ms)
|
||
✔ shipped authority follows the note's table (10.829435ms)
|
||
✔ version 1 files keep loading with no authority (1.892986ms)
|
||
✔ the conductor policy isn't a role (0.383968ms)
|
||
✔ a missing role file is exit 4, a symbolic link too (0.600117ms)
|
||
✔ version 2 refusals (1.966349ms)
|
||
✔ authority: closed vocabulary, no gated-only action, no overlap (4.284811ms)
|
||
✔ credentials: Gitea scopes (1.537433ms)
|
||
✔ credentials: Vikunja scopes are a group-to-verbs map from the grantable list (1.912443ms)
|
||
✔ credentials: services (1.044154ms)
|
||
✔ contract: a non-empty regular Markdown file beside the role file (1.05934ms)
|
||
✔ the PM gets launch, its task verbs and the reads (12.754906ms)
|
||
✔ a coder gets no launch, no resolve_decision, and no task tools without a tracker (4.823918ms)
|
||
✔ launch only when the business's launch block names the instance as launcher (3.337282ms)
|
||
✖ an action outside the instance's authority has no tool (6.565686ms)
|
||
✔ callTool: one JSON line out, the result back, a refusal rejects (19.618993ms)
|
||
✔ task.create needs a recorded human request and a requirement id (57.310658ms)
|
||
✔ only labels named in the business file can be written (37.756552ms)
|
||
✔ task.schedule sets and clears a due date and relations (44.948474ms)
|
||
✔ assign and reassign move the role bots and record task.assigned (133.26048ms)
|
||
✔ task.update.assigned is for the assignee and records task.state (149.616551ms)
|
||
✔ a wrong expected digest records task.conflict and writes nothing (60.89642ms)
|
||
✔ a cross-role verb needs a resolved decision, used once (61.058916ms)
|
||
✔ task.close needs a verdict; after it every verb refuses with task-done (43.717227ms)
|
||
✔ a lost answer is settled by a re-read and never retried (60.615688ms)
|
||
✔ a create whose answer is lost is reported uncertain, and the poll finds the task (50.786839ms)
|
||
✔ a task the sync bot cannot read refuses and records nothing (33.128318ms)
|
||
✔ verbs and polls for one business run one at a time (106.542625ms)
|
||
✔ a due date with milliseconds is written to the second (89.23896ms)
|
||
✔ every write landed and the final read failed: the verb succeeds and records what it wrote (52.735737ms)
|
||
✔ some writes landed and the final read failed: write-uncertain, and nothing is recorded (38.534275ms)
|
||
✔ a create whose final read fails succeeds and records task.created (48.772964ms)
|
||
✔ an edit between the last write and the final read shows as external on the next poll (64.248179ms)
|
||
✔ task.created is recorded when a later label write fails (23.685508ms)
|
||
ℹ tests 59
|
||
ℹ suites 0
|
||
ℹ pass 58
|
||
ℹ fail 1
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 1367.254328
|
||
|
||
✖ failing tests:
|
||
|
||
test at packages/harness/tests/tools.test.mjs:44:1
|
||
✖ an action outside the instance's authority has no tool (6.565686ms)
|
||
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
|
||
+ actual - expected
|
||
|
||
[
|
||
+ 'task_create',
|
||
+ 'task_assign',
|
||
+ 'task_reassign',
|
||
+ 'task_schedule',
|
||
+ 'task_priority_change',
|
||
+ 'task_scope_change',
|
||
+ 'task_update_assigned',
|
||
+ 'task_close',
|
||
'raise_decision',
|
||
'list_agents',
|
||
'inbox',
|
||
'trail',
|
||
'list_tasks'
|
||
|
||
at TestContext.<anonymous> (file:///mnt/storage/scratch/rocko-r73-base/packages/harness/tests/tools.test.mjs:46:10)
|
||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||
at Test.run (node:internal/test_runner/test:1402:25)
|
||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||
at Test.run (node:internal/test_runner/test:1467:12)
|
||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||
generatedMessage: true,
|
||
code: 'ERR_ASSERTION',
|
||
actual: [ 'task_create', 'task_assign', 'task_reassign', 'task_schedule', 'task_priority_change', 'task_scope_change', 'task_update_assigned', 'task_close', 'raise_decision', 'list_agents', 'inbox', 'trail', 'list_tasks' ],
|
||
expected: [ 'raise_decision', 'list_agents', 'inbox', 'trail', 'list_tasks' ],
|
||
operator: 'deepStrictEqual',
|
||
diff: 'simple'
|
||
}
|