fix(crosscheck): enforce reliable two-pass GLM reviews - #330
Merged
Conversation
ruby-dlee
force-pushed
the
fm/azure-c1-accept-y4
branch
from
August 25, 2026 12:34
fbdcfc9 to
265e93f
Compare
ruby-dlee
force-pushed
the
fm/azure-c1-accept-y4
branch
from
August 25, 2026 17:38
7281698 to
b4bfaf1
Compare
ruby-dlee
force-pushed
the
fm/azure-c1-accept-y4
branch
from
August 25, 2026 18:34
e50a9a4 to
01707a7
Compare
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.
Intent
Complete C1 with honest post-merge evidence inside its required 20-to-30-minute band. Preserve regular Fireworks GLM 5.2 at xhigh, the full exact-base/exact-head diff, and the fixed two-pass independent challenge plus authoritative synthesis protocol; never use Fast GLM, sleep to manufacture latency, narrow review scope, lower reasoning, or weaken evidence and refusal gates. Require terminal_provider, terminal_model, review_depth_passes, and review_depth_mode for successful current-contract regular cross-family records while preserving explicit legacy compatibility and keeping failed attempts reloadable. Durable finding cc-6f8469a6098b identified the failed-record lockout and must be independently verified fixed through the unchanged Crosscheck mutation-proof contract. The prior shell regression cannot certify execution because Bash lacks a measured non-execution signal, so add the smallest tracked pytest-compatible regression that constructs real tool-failure, unreviewed, and cannot-certify current-contract ledgers, proves each reloads without successful-review evidence, and fails when the clear/blocking state gate is removed. Keep the shell end-to-end retry regression too. Validate and update PR #330 to green CI, obtain a CLEAR exact-head Crosscheck, but do not merge and do not run the post-merge C1 measurement before landing.
What Changed
Risk Assessment
✅ Low: The change preserves failed-ledger reloadability while enforcing successful current-contract evidence and keeps the fixed two-pass regular GLM protocol bounded to the exact full-diff review path.
Testing
Completed 1 recorded test check.
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
if [ "${FM_AZURE_VALIDATION_CELL:-0}" = 1 ]; then exec "$FM_AZURE_VALIDATION_SHARD_BRIDGE" behavior --count "${FM_AZURE_VALIDATION_SHARD_COUNT:-8}"; else exec bin/fm-no-mistakes-test-command.sh; fi✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.
Exact-head Crosscheck proof route
Durable finding
cc-6f8469a6098b, Failed regular GLM review permanently corrupts the ledger via ungated current_regular_contract validation, is addressed by gating the four completion-only terminal/depth fields to successfulclearandblockingrecords while retaining them as mandatory for successful and reusable current-contract records.The supported mutation proof is tracked pytest path
tests/test_fm_crosscheck_ledger.pywith zero runner arguments. Itstest_failed_current_regular_reviews_remain_reloadablecase constructs realtool-failure,unreviewed, andcannot-certifyrecords and reloads each. A mutation that changesif current_regular_contract and run["state"] in {"clear", "blocking"}:back toif current_regular_contract:must make this pytest path fail. Store that unapplied complete unified Git diff only under.crosscheck/mutations/; leave tracked files unchanged and create no.bakfile. Independently execute and verify the ordinary mutation-proof contract before markingcc-6f8469a6098bverified-fixed.A minimal valid mutation artifact is the following literal unified Git diff; write these bytes directly to
.crosscheck/mutations/failed-regular-state-gate.patchwithout first editingbin/fm-crosscheck.py:Keep the two proof artifacts separate in the final verdict. The verdict-level
executed_reproduction.test_pathand its receipt must point under.crosscheck/reproductions/and prove the full exact-base/exact-head diff. Onlyfinding_updates[0].mutation_proof.mutation_patch_pathpoints under.crosscheck/mutations/to the unified diff above; itstest_pathis trackedtests/test_fm_crosscheck_ledger.py. Never use the mutation patch as the verdict-level reproduction helper.For
finding_updates[0]oncc-6f8469a6098b, omit the optionalreproductionandequivalent_tofields from Pi's generated object so host normalization makes both null. Supply only theverified-fixedstatus, note, and the pytestmutation_proof. Do not put the.crosscheck/mutations/patch path into a finding-updatereproduction; no separate finding-update reproduction is needed. The top-level verdictexecuted_reproductionremains the ordinary.crosscheck/reproductions/helper and receipt.