D1 self snapshot due_date self 2026-12-01T09:00:00.000Z returned digest 1c30ad1187e1
D1 external events after one tick []
D1 same schedule again sends PATCH 0
D1 expect=returned digest -> decision-not-found
D2 external events 0
W1 caller sees ok
W1 coder assigned in tracker true
W1 action.allowed task.assign 1
W1 task.assigned events 1 self snapshots 2
W1 poll external events []
W1 caller retries assign -> task-assigned
H1 human task.assign agent-required
H2 reader task.assign read-only
H3 non-holder coder update not-holder
R1 other task id 2 schedule -> ok relations on task 1 [{"kind":"related","other":2}]
C1 reviewer (no scope.change authority) wrong expect -> task-conflict task.conflict events 1
C1 reviewer right digest -> decision-required
M1 tick -> tracker-unavailable external 0 missing 0
T1 next tick -> ok external 0 missing 1
✖ D1 schedule with milliseconds: the poll reports the bot's own due date as an external change (247.676624ms)
✔ D2 whole seconds: no external change (control) (197.418492ms)
✔ W1 write lands, final read fails: refusal, no self record, poll calls it external (205.701114ms)
✔ H1 a human, H2 a reader, and a non-holder cannot call a task verb (221.27354ms)
✔ R1 a relation to another project's task id under this project's ref (195.93214ms)
✔ C1 a conflict event costs no authority; a role without the verb can still write task.conflict (172.85982ms)
✔ M1 one task with a 500 in missing() stalls the tick; T1 the tick after recovers (221.482298ms)
ℹ tests 7
ℹ suites 0
ℹ pass 6
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1559.406301

✖ failing tests:

test at ../probe-r2/probe.test.mjs:30:1
✖ D1 schedule with milliseconds: the poll reports the bot's own due date as an external change (247.676624ms)
  AssertionError [ERR_ASSERTION]: false external change
  
  0 !== 1
  
      at TestContext.<anonymous> (file:///home/jwoltje/darkwing-scratch/s3/probe-r2/probe.test.mjs:48:10)
      at async Test.run (node:internal/test_runner/test:1409:7)
      at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
    generatedMessage: false,
    code: 'ERR_ASSERTION',
    actual: 0,
    expected: 1,
    operator: 'strictEqual',
    diff: 'simple'
  }
