Repository navigation
fix(ci): bring public CI to parity with private — ceiling 37 → 5 - #265
Merged
Merged
Conversation
Ports CR-CI-001 Phases 2, 3 and 4 plus CR-B to the public repo in one step.
Public had never received any of them: 37 --ignore flags and no ceiling guard,
against private's 5 flags WITH the guard.
WHAT LANDS
Phase 2 14 stale flags removed
Phase 3 11 files converted to named skips (10 patent stubs + 1 Ollama)
Phase 4 7 genuinely-failing files fixed
CR-B release gate fails CLOSED (fallback WARN -> BLOCK)
plus the #360 and #361 hotfixes that followed CR-B
Net: 37 -> 5 suppression flags, and the ceiling guard now exists here at
MAX=5. MAX ratchets DOWN - a phase that removes flags drops MAX in the same
commit, so no silent gap opens for regrowth.
Remaining 5, matching private exactly: test_phase3, test_manager,
test_mcp_server (order-dependent, pass alone), test_no_internal_strings
(issue #358) and test_chat_02_intent_hint (issue #357).
VERIFIED AGAINST CI's ACTUAL DEPENDENCY VERSIONS
The previous CI red on the private line came from verifying against local
deps: click 8.3.1 had CliRunner.isolated_filesystem, CI's click 8.5.0 did
not, and the suite passed locally while failing there. This port was verified
in a venv resolving the same versions CI resolves (click 8.5.0, typer 0.27.2,
isolated_filesystem absent), not against what happened to be installed.
TWO FILES THE COMMIT-DERIVED SCOPE MISSED, found by that verification
test_02_g2_release_gate.py needed the #361 fix - it accepts BLOCK as a
fail-closed signal, which CR-B's engine now
returns. Porting the engine without it would
have shipped a known-failing test.
test_cg_14_config_drift.py public carried an OLDER copy asserting
CG-14_UNKNOWN_FILE where the handler returns
CG-14_RUNTIME. It passed on private and was
hidden behind an --ignore here, so removing
that flag exposed it. Ported the current file.
Neither appeared in the diff of the four feature commits. They were found
only by running the full suite after the flags came off.
VERIFICATION
Ceiling guard, run as CI runs it: count=5, MAX=5, PASS. YAML valid.
Full suite under CI-matched versions, set-difference of failure lists:
base (origin/master, its own 37-flag list) 22 failed / 8700 passed
branch (this branch, new 5-flag list) 21 failed / 8715 passed
regression direction: EMPTY
15 more tests run than before, one base failure no longer fails, and no new
failure is introduced.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
🛡️ GraQle PR Guardian💥 Blast Radius: 24 modules affected
Total blast radius: 24 🏛️ Governance Verdict🚫 FAIL
🔍 SHACL ViolationsNo SHACL violations detected. ✅ 🔐 Approval RequirementsThis PR requires approval from:
❌ Approval requirement NOT yet satisfied.
🔬 Powered by GraQle PR Guardian v0.1.0 · Scan completed 2026-09-26T19:33:11.785156+00:00 |
harishquantamix
approved these changes
Sep 27, 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.
Bring public CI to parity with private — ceiling 37 → 5
Ports CR-CI-001 Phases 2, 3 and 4 plus CR-B in one step. Public had never received any of them: 37
--ignoreflags and no ceiling guard, against private's 5 flags with the guard.WARN→BLOCK)Net: 37 → 5 flags, and the ceiling guard now exists here at
MAX=5.MAXratchets down — a phase that removes flags drops it in the same commit, so no silent gap opens for regrowth.The remaining 5 match private exactly:
test_phase3,test_manager,test_mcp_server(order-dependent, pass alone), plustest_no_internal_strings(issue #358) andtest_chat_02_intent_hint(issue #357).Verified against CI's actual dependency versions
The recent CI red on the private line came from verifying against local deps: click 8.3.1 had
CliRunner.isolated_filesystem, CI's click 8.5.0 did not, and the suite passed locally while failing there.This port was verified in a venv resolving the same versions CI resolves — click 8.5.0, typer 0.27.2,
isolated_filesystemabsent — rather than whatever happened to be installed.Two files the commit-derived scope missed, found only by that verification
test_02_g2_release_gate.py— needed the #361 fix, which acceptsBLOCKas a fail-closed signal. CR-B's engine now returns exactly that. Porting the engine without it would have shipped a known-failing test.test_cg_14_config_drift.py— public carried an older copy assertingCG-14_UNKNOWN_FILEwhere the handler returnsCG-14_RUNTIME. It passes on private and was hidden behind an--ignorehere, so removing that flag exposed it.Neither appeared in the diff of the four feature commits. Both were found by running the full suite after the flags came off — which is the argument for doing the reduction and the verification together rather than in separate PRs.
Verification
count=5 MAX=5 PASS. YAML valid.origin/master, its own 37-flag list)15 more tests run, one base failure no longer fails, and no new failure introduced.
Gates:
ip-content-gatePASS (24 paths) ·trade-secret-wheel-gatePASS ·lint-imports1 kept, 0 broken. The two TS-scan hits are CR-B's own prohibition text — "never contains internal threshold values, weights, or compose logic" — the policy being stated, not violated.After this merges
Public reaches parity with private, which is the precondition for tagging 0.85.0 as the CI-and-tooling release Research approved. That release carries no DAG content, so it is unaffected by the open Group S continuation decision.
🤖 Generated with Claude Code