Repository navigation
Fix Repairer shutdown races and add cloud delivery pipeline - #1035
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
hrygo
left a comment
There was a problem hiding this comment.
Integration review for HEAD 839f6bf3ca829227338347efd5a68fefcf517816 on October 9, 2026.
Reviewed all six files in the PR diff against current main. No blocking P0/P1 or worthwhile new P2 findings were identified. The conflict resolution retains a single shutdown processor, transfers intent ownership only after the loop exits, uses one shutdown budget, and runs callbacks outside the Once lock. Both the lifecycle PR's shutdown regressions and this PR's callback/late-Start regressions remain present.
Verified locally:
- Both shutdown regression groups passed 10 consecutive
-race -shuffle=onrounds. - All 93 Python CI-helper tests passed.
- Full
make qualitypassed with zero lint issues and full race/shuffle tests. - WebChat and documentation builds, documentation lint, and all six original pre-push gates passed.
GitHub CI for this HEAD is still running. The user explicitly authorized administrator merge only after every check succeeds; no merge has been performed yet.
Fixes #1034
Refs #1033
Repairer shutdown could process the same intent concurrently with its background loop. Shutdown now transfers ownership only after that loop exits, uses one shutdown budget, and leaves in-flight work intact when the budget expires. A single shutdown worker runs callbacks outside the Once lock, so callback re-entry and callers with cancelled contexts cannot deadlock shutdown. Start registration and shutdown are serialized so a late Start cannot create another processing loop.
Adds an explicit Issue-to-draft-PR cloud runner with sequential gates, stale-validation detection, required Git hooks and recoverable commit/push checkpoints. Review fixes also allow an already committed change to resume after revalidation and reuse a previously closed PR instead of creating a duplicate.
Integrated current main after PR #1036 merged, resolving the overlapping Repairer shutdown changes. Both PRs' regression tests are retained; lifecycle changes from main remain intact.
Validation on October 9, 2026:
make qualitypasses with zero lint issues and the complete race/shuffle test suite.make docs-lintpasses.Automatic Codex editing still requires refreshing cloud authentication: the previous implementation probe returned HTTP 401. Validation and PR publication are independently verified. No merge/deployment capability is added to the delivery runner.