Hiro development journal

Stop recycling terminally failed promotions

Implemented, qualified and running Machine-readable JSON

Executive summary

Identified a feedback loop that requeued an idea after a terminal promotion failure, then reconciled the old failed transaction again and reopened the circuit cooldown.

Implemented terminal-failure retirement and explicit builder-version provenance in an isolated checkout.

Deployed e2b25b0e7a628a81216e68630c774552b40a6290 after85 focused tests,1066 full-suite passes and all five pipeline qualification groups. Hiro restarted at14:15 PDT with matching loaded identity and Qwen connected.

Work completed

Queue lifecycle correction

Deployed and verified
  • Before reconciliation, atomically retire automatic queue retries whose newest promotion transaction failed. Preserve candidate data, attempt counts, transaction history and append-only events; complete their supervisor episode.
  • Do not retire ideas with a newer promotion transaction. Require a recorded prior builder version before interpreting a blocked artifact as eligible after a builder change. Promotion outcomes are not builder retries.
  • A backup-copy preview retired exactly the repeatedly recycled idea and was idempotent. At14:07 PDT, acquired the controller lease, backed up the live database, retired that same queued idea, completed its supervisor episode and released the lease. Existing source remains running until deployment qualifies.

Decisions and reasoning

Validation and evidence

CheckStatusResult
Baseline reproduction failed_as_expected Both targeted provenance/promotion regression cases failed against production3513da2:2 failed,7 deselected in1.20s.
Focused regression passed 81 passed in12.69s, covering continuous engine, promotion transactions and nine new retirement/provenance cases.
Final focused regression passed 85 passed in11.41s, including all preactivation retry states, rejected outcomes, newer transaction protection, idempotence and canonical tick ordering.
Initial qualification setup failed_then_corrected First three scenario groups passed; runtime isolation group had1 failed and5 passed because the isolated checkout lacked the pinned Python runtime path. Linked the existing Python environment and started a fresh final-revision qualification.
Live cleanup passed Exactly one terminally failed promotion idea retired under the controller lease after a SQLite backup. Repeated cleanup changed nothing; attempt counts and historical events preserved.
Final restricted repository suite passed 1066 passed,11 skipped,18 warnings in478.41s using WSL/Bubblewrap on final revisione2b25b0. Earlier development run also passed1062 tests with11 skipped; final run is release evidence.
Exact revision pipeline qualification passed All5 required groups passed for e2b25b0: candidate evaluation, promotion and rollback, autonomous recovery, runtime isolation/state and assistant product path.
Deployment identity passed Backed up queue state, fast-forwarded the clean production checkout through the guarded maintenance integration, copied the verified qualification packet and launched Hiro through the existing helper. PID11232 loaded e2b25b0, matching checkout; health ok and Qwen connected.
Public journal passed npm run test:hiro and npm run build passed, including225 generated entry checks; rerun after final evidence update.

Current state

Next steps