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
P1 create -> vikunja:1/2 snapshot self labels [1] due 2026-11-01T10:20:30.000Z digest==returned true task.created 2
✔ D1 schedule with milliseconds: the poll reports the bot's own due date as an external change (119.739669ms)
✔ D2 whole seconds: no external change (control) (83.77551ms)
✔ W1 write lands, final read fails: refusal, no self record, poll calls it external (90.552022ms)
✔ H1 a human, H2 a reader, and a non-holder cannot call a task verb (86.12839ms)
✔ R1 a relation to another project's task id under this project's ref (81.923787ms)
✔ C1 a conflict event costs no authority; a role without the verb can still write task.conflict (86.879606ms)
✔ M1 one task with a 500 in missing() stalls the tick; T1 the tick after recovers (79.761787ms)
P1 poll external events for the new task []
P2 caller sees ok state 3 due in tracker 2026-12-02T00:00:00Z schedule events 0 last snapshot self 2026-12-02T00:00:00.000Z
P3 caller sees ok PATCHes sent 0
✔ P1 create with a label and a relation, final read fails: snapshot matches the poll (104.489902ms)
✔ P2 step settled by re-read, then the final read fails: success (126.271579ms)
✔ P3 nothing to write, final read fails (78.746838ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1010.940239
