fix: BUG-LOOPS-002: worker-verifier workflow can succeed without task comments or completion - #138
Conversation
… comments or completion
Adversarial review — REQUEST CHANGES (hold, do not merge as-is)Reviewed alongside #136, which targets the same defect class. #136 is now merged (868bcc1). This PR conflicts with it and, on its own acceptance criterion, has a P1 defect. The dependency-status plumbing here is genuinely valuable and should be salvaged — please rebase rather than abandon. Evidence gatheredGates on head
I rendered the writeback script and executed it against a stubbed
P1 (blocking) — the writeback marks the task
|
Closing as superseded — the diagnosis was right, the remedy belongs in its own changeTracked as todos task Closing rather than holding, for one reason: the fix this needs is a change to the completion contract (what entitles the runtime to mark a task done), not a repair to this diff. Leaving it open would park it in the queue looking nearly-ready when it actually needs a design decision first. What was right, and it was the harder halfYou found the real defect and you built the right primitive for it. The
Gates were green too: Why it could not merge as written
So in the one scenario it exists to fix, it turned a visible open task into a closed one carrying a false attestation. Exit 0 is proof of exit, not proof of work. Your own tests reflect this honestly — the three added here assert structure and plumbing; none asserts that a successful-but-empty verifier fails, because under this design it does not. Why #136 was merged instead#136 checks evidence content (status, both markers, non-placeholder bodies, ordering) and is demonstrably discriminating — five planted silent successes all rc=1, genuine rc=0, and reverting its source fails 10 tests including "workflow fails when successful agents leave no task completion evidence". Its weakness is the mirror of this PR's strength: the evidence it checks is agent-authored, so it verifies compliance rather than work. Neither half closes the hole alone. They are complementary, which is what Trap to carry forward — this one is easy to lose
Also worth carrying over
Not blocking and not yours: this branch now conflicts with main in 4 files after #136 landed, semantically rather than textually (this PR replaces the |
Objective
BUG-LOOPS-002: worker-verifier workflow can succeed without task comments or completion
PersonalNotes worker/verifier workflow personalnotes:platform-wv:2a2d8602:b437a49817fa:workflow run e52a5ad23f2e succeeded all steps (prepare-worktree, worker, verifier) at 2026-06-30T15:47:53Z, but todos inspect for task 2a2d8602 still showed status pending and zero comments. This matches Socializer evidence writeback risk. Expected: worker/verifier template records workflow id, run id, worker evidence, verifier evidence, and marks the task done only when verifier passes, or records a failure/follow-up. Current state makes successful agent work invisible to the task queue and causes repeated routing risk. Do not expose secrets in captured output.
Verification
Run
run_cc89364f683a· backendcodewith· task86146f11-3247-4c74-a1a7-a28832ea0266🏭 Generated by @hasnaxyz/factory
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.