fix(issue-34): review - a correction round keeps the earlier creator jobs' sub-jobs in the evidence table

round_roots was replaced by the correction job, so an implementation
job's open or failed sub-job vanished from the next review and the loop
could pass (planner-reviewer-codex-01, P2). The run's creator jobs now
accumulate; each wait still covers only the new job's tree, so the wait
cap is not paid again per round. T9 covers open / error / completed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
GodopuandClaude Opus 5.5 committed 2026-09-24 14:17:12 +00:00
1 parent 8690ef4bd2
commit 3fdbb626de
3 files changed
+32 -3

No files matched your search

+4 -2
View File
@@ -98,7 +98,9 @@ class LoopRunner:
self._rounds: List[Dict[str, Any]] = []
self._accepted_round: Optional[Dict[str, Any]] = None
self.created_jobs: List[str] = []
# Issue #34: the creator jobs whose sub-job trees this round's reviewers see
# Issue #34: every creator job of this run (execution, corrections,
# compliance). Kept across rounds: a later creator job does not make an
# earlier one's open or failed sub-job go away - that is the reviewers' call.
self.round_roots: List[str] = []
self.wait_open_jobs = False
self.failed_submit_jobs: Set[str] = set()
@@ -1511,7 +1513,7 @@ class LoopRunner:
correct_jid = self._dispatch(self.creator, creator_type, "Worker", correction_prompt)
if correct_jid:
self.round_roots = [correct_jid]
self.round_roots.append(correct_jid)
if not correct_jid or not self.wait_for_job_tree(correct_jid):
log_error("Failed to register Creator correction job.")
return 1