zz_

5ab93f67 ยท zzmq.dev@gmail.com/zz

Commit

5ab93f679f23b9aefe79a5ca5a5448ee38c9d47d

Fix the agent's origin-chain blind spot and a real duplicate-answer bug Scenario-2 testing (zz work autonomously building a repo pair) surfaced two real gaps: 1. The agent had no way to know that an empty ask_query_claimable result on its current Lane doesn't mean the task is done -- only that lane is drained. It never checked back on the original top-level Ask it claimed, and never walked up to the Lane's origin to see if more work (or the thing it's actually blocked on) was waiting there. Added an explicit instruction: before stopping, check for any ask you claimed but never answered (including the first one), and check whether the lane you were just in has an origin -- if so, check that lane's queue too, the same way. 2. That fix immediately surfaced a second, worse bug on re-test: answer() had no guard against answering the same ask twice. Once the agent started dutifully re-checking the top-level ask, it got no feedback that re-answering it was a no-op, and spent its last ~15 turns calling ask_answer on the same already-answered ask in a loop until it hit the turn limit. answer() now throws a clear error on a duplicate answer instead of silently accepting it -- which doubles as the exact confirmation signal ("it is already resolved") the agent was missing. Also fixes commit_changeset to validate its files argument with a clear error (same class of bug ladder_write_rung's validation already catches) instead of crashing on a malformed shape with an opaque "Cannot read properties of undefined" error -- found when the agent posted a file object missing its `path` field. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Troy Howard <thoward37@gmail.com> -- 2026-10-10T07:00:20.000Z

Tree at this commit