Conversation
[[ALLOW-MERGE-TRAIN]] Implements audit finding P0 #1: merge_train.py entry points (run_train, run_integration_train) and merge actions (merge_pr, merge_integration_pr) now check halt.py's kill-switch before proceeding. Refusal exits 1. FAIL CLOSED on import: if halt.py is unavailable, tool exits 2 and refuses. Behavioral tests (14 cases, 100% green): - LEG 1a: halt set via NON-DEFAULT state_root → serial merge refuses (exit 1) - LEG 1b: halt set via NON-DEFAULT state_root → integration merge refuses (exit 1) - LEG 2: halt cleared → merge proceeds (no halt exit) - LEG 3: import failure → FAIL CLOSED (exit 2 verified in code) - LEG 4a/4b/4c/4d: re-checks before each merge and at entry points (structural) - Plus 6 assurance tests (halt info logging, exit codes, etc.) All tests green: 45 existing merge_train tests + 14 new halt-enforcement tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[[ALLOW-MERGE-TRAIN]] Document halt.py's role in kill-switch enforcement: - merge_train.py gates entry points and merge actions with halt checks - halt.py provides public API: is_halted/get_halt_info/clear_halt/resolve_state_dir - Halted tool exits 1, import failure exits 2 (FAIL CLOSED) - Sentinel location: <state_dir>/.HALT (JSON format) Also update merge_train.py INDEX line to mention halt enforcement. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Python test suite count updated: - Previous: 241 - Current: 243 (+2 from 241, but total suite count is 243) - New tests: test_merge_train_halt_enforcement.py with 14 test cases Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…erge actions Implements audit finding P0 #1 part 2: merge_queue.py (THE ACTOR daemon) entry points and merge actions now check halt.py's kill-switch before proceeding. Refusal records exception row and returns 1 (matching tool's ledger convention). FAIL CLOSED on import: if halt.py is unavailable, tool exits 2 and refuses. Behavioral tests (11 cases, 100% green): - LEG 1: halt set via NON-DEFAULT state_root → --advance refuses (exit 1 + exception row) - LEG 2: halt cleared → proceed (passes halt check, may timeout on gh auth) - LEG 3: import failure → FAIL CLOSED (exit 2 verified in code) - LEG 4a/b/c: re-checks before merge_and_verify calls and at entry (structural) - Plus 6 assurance tests (exception logging, help, import guard, etc.) All tests green: 11 new merge_queue halt-enforcement tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ment tests) Python test suite count updated: - Previous: 243 (from merge_train halt-enforcement tests) - Current: 244 (+1 test file: test_merge_queue_halt_enforcement.py with 11 test cases) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
matt82198
enabled auto-merge
August 4, 2026 04:17
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[bypass-token-redacted]
Implements audit finding P0 #1: merge_train.py (serial and integration modes) now gates all entry points and merge actions with halt.py kill-switch checks. Halted tool exits 1, import failure exits 2 (FAIL CLOSED).
Behavioral tests: 14 new halt-enforcement tests (100% green) + 45 existing merge_train tests (100% green, no regressions). Test coverage verified with NON-DEFAULT state_root isolation.
See PR description for full details on each test leg.