Fix research certification completion livelock - #30
Conversation
Keep the evidence epoch stable for ordinary reclassification while opening a new epoch when a replacement intent reuses the same research target. Co-Authored-By: GPT-5.6-Sol <noreply@anthropic.com>
|
I pushed a small maintainer follow-up in Preserving The existing same-vertical/new-task regression now also verifies that the research evidence epoch advances, so the prior task's certification cannot satisfy the replacement task. Validation:
Please review whether this intent boundary matches the desired lifecycle contract. The branch still needs to be rebased onto current |
What changed
research_target_set_atwhen the Manager reasserts the same vertical and research targetfinal_submissionscope through planner normalization, backlog tagging, and stale-task filteringfinal_submissioncertification task when research-target completion is rejectedRoot cause
Two independent paths made the completion invariant impossible to satisfy. Normal Manager reclassification refreshed
research_target_set_atafter each mission, which made newly written certification evidence immediately look stale. Separately, finite campaigns disabled the legacy paper gate, so planner tasks requestingfinal_submissionwere downgraded toboundedand could never persistfinal_submission_certified=true.The Planner therefore kept returning
PROJECT_DONE=true, while the host repeatedly rejected it withmissing_exploratory_reviewer_certification. Projects that had already repeated this three times also persisted the feedback circuit-breaker state, so the fix includes a one-time instruction-version migration rather than requiring operators to delete state files.Impact
Finite research campaigns with an exploratory, publishable, or doctoral target can now run one authoritative independent certification and terminate. Ordinary bounded verticals still normalize inapplicable
final_submissiontasks tobounded, and existing Markdown artifacts are not trusted as certification by themselves.Validation
ruff checkon the changed Python and test filespythonPATH alias, and an integration test that invokes a real local manager toolnumpy/pandasquant dependencies not installed in this environmentpython -m argus_skill.release_tools.build_releases-4d0fe00c: the persisted three-attempt rejection migrated to instruction v2, the Planner scheduled exactly one certification mission, and the running backlog row hasscope:final_submission,stage_closing, andreview:required