Repository navigation
ci: pin compat gate to the same verdict-core SHA as tests - #22
Merged
Merged
Conversation
The compat gate installed verdict-core@main, so every RoutingDecisionContract change on core main failed the scheduled run (Sep 28, Oct 5, Oct 12) with contract_hash_mismatch. ADR-024 says the gate checks the manifest of the core version actually in use, which is the 55880def pin the test job uses. Both jobs now read one VERDICT_CORE_REF. The declared manifest passes against that SHA; moving to core v0.4.2+ needs a manifest refresh in the same PR.
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.
Why scheduled CI is red
The weekly CI runs on Sep 28, Oct 5 and Oct 12 (runs 36430219757, 37324276384, 38268249181) all failed in one place: Compat Gate → Run compat check. Tests, lint, build and security passed every time.
{"allowed": false, "reason": "contract_hash_mismatch", "mismatched_contracts": ["RoutingDecisionContract"]}The compat gate installed
verdict-core@main(the step was named "pinned", but it wasn't). Core main changedRoutingDecisionContractafter our manifest was last refreshed on Aug 30, so the weekly run started failing even though nothing in this repo changed.ADR-024 says the gate checks the declared manifest against the core version actually in use. The test job runs against
55880def, so that's the version the gate should check.Change
VERDICT_CORE_REF(still55880def0e778e614f9d7e34c79a98d36eed5b15), used by the test job and the compat gate.main.Verified locally
verdict compat check --declared .verdict/compat-manifest.json --jsonagainst three core refs:55880def(test pin)allowed: truev0.4.2contract_hash_mismatch(RoutingDecisionContract)maincontract_hash_mismatch(RoutingDecisionContract)Follow-up (out of scope here)
Moving to core v0.4.2 or later means bumping
VERDICT_CORE_REF, regenerating the manifest (verdict compat manifest --json) and checking the tests still pass, all in one PR. If you want an early warning when core main drifts, add a separate non-blocking job for that. Don't point the blocking gate atmain.