Repository navigation
#332 Phase 7 wave 2a: breaker keeps preserve, CI reuse starts empty, audit-unavailable preserve - #352
Merged
Merged
Conversation
Formatting only (AST unchanged). The next commit touches this file, and CI lints every touched file with `ruff format --check`. Signed-off-by: Minxi Hou <houminxi@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rf2jBZrtS24e7qpWUBy3uo
- W2-10: the mutation-infra breaker keeps a `preserved` row its round settled; it clears the settle after its save, so a failed breaker save still demotes, as other same-attempt failures do. - W2-9: a later CI run() on a reused instance drops the State the previous run used, as LOCAL does; CI tests that staged history seed a copy. - W2-8: an audit-unavailable (inadmissible dict) reply that is its pass's single schema-failed response no longer wipes credit: the round records `preserved` with verdict FAIL. The C3 per-pass checks are shared (`_c3_producer`, `_single_schema_failed_reply`). - W2-8: stall and max-rounds ESCALATED exits write a report-only note naming the preserved cycles that held credit; a demotion retracts it. - W2-8: `_l2_infra_observed` is the one reader of the L2 INCOMPLETE cause (no behaviour change). - W2-8: shared offline helpers moved to tests/_review_harness.py. - W2-3: test pinning an acquisition failure beside literal receipt damage. - docs/round-history.md and phase7-plan.md section 5 (decisions, changes, deferrals, review status). Each behaviour change was checked red first (new tests fail on the previous code or under a targeted mutant). Signed-off-by: Minxi Hou <houminxi@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rf2jBZrtS24e7qpWUBy3uo
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
This was referenced Nov 1, 2026
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.
Base:
mainef5ef54 (wave 1 merged as #346). Two commits: a format-only commit oftests/test_mutation_ledger_ci_controls.py(AST unchanged; CI lints every touched file), then the change. Full record:docs/gsd/future-direction/332-host-failure-classification/phase7-plan.mdsection 5 (owner decisions of 2026-11-01, what changed, deferrals, review status).What changes
preserved, that row and the earned window are kept. The breaker clears the settle after its own save, so a failed breaker save still demotes, as other failures after the settle in the same attempt do.run()on a reusedStateMachinedrops the State the previous run used, as LOCAL already does; a State the caller assigns between runs is kept. Production builds one instance per review, so only the Python API can reach this. CI tests that staged history by reusing an instance now seed a copy.test_p7_reused_ci_instance_carries_its_statebecame..._starts_from_an_empty_state.preservedwith verdict FAIL, like a parsed schema-fail payload. Literal or I/O receipt damage still wipes. The C3 per-pass checks are shared (_c3_producer,_single_schema_failed_reply).ESCALATED category=line. It names only preserves that held clean rounds, and a demotion retracts it._l2_infra_observedis the single reader of the L2 INCOMPLETE cause; behaviour is unchanged.tests/_review_harness.py. The test functions are unchanged.Compatibility
No row field changes; older versions load these rows.
Verification
checkandformat --checkare clean on every touched file.Review follow-up (completed 2026-11-01)
Reviewed head:
9bdb97cb8239d551345301c389c579036a61aa15; merge-base:ef5ef54. The original pending review status in plan section 5.3 records the pre-follow-up snapshot; this section supersedes that status.review-scope.pyandfindings-mechanics.pyprocessed the six attested review outputs: zero retained findings, zero malformed returns/findings, and zero suppressed candidates. A fresh independent native validator replayed the helpers and checked the source, scope and evidence receipts. This was the scoped final-validation/dedup workflow, not a full CE review-spine rerun or an external cross-model review; the candidate batch was empty.git diff --checkpass. Format-only commit AST equivalence and all 34 extracted harness definitions were checked (only_survivorimport order differs). 2,000 local tests passed. Another 232 offline tests (plus their teardown errors) were blocked by this container's protected/tmp/.gitancestor triggering the no-subprocess audit; a representative test fails identically on the exact merge-base. Those local cases are not claimed as passes.9bdb97cinto currentmain7851ee8: ownership/cancellation 568 passed, cgroup sandbox 32 passed, service-free suite 31,550 passed, 81 skipped, 68 deselected, 2 subtests passed, local process integration 11 passed, 7 deselected.7851ee8changes only the intended 10 files and preserves the main-branch Ruff cleanup. No code correction or new commit was needed for this follow-up.preserve_basis, per-row UNTRUSTED fingerprints, receiptsource/channeland subtype labels) is being implemented separately; it is not included or accepted by this PR's results.Generated by Claude Code