demo: adding a frozen invariant the pipeline should catch#1
Open
mariusargatu wants to merge 4 commits into
Open
demo: adding a frozen invariant the pipeline should catch#1mariusargatu wants to merge 4 commits into
mariusargatu wants to merge 4 commits into
Conversation
Adds INV-8 to the frozen spec and nothing else. The verify job's drift gate is expected to fail here (frozen but uninventoried), which is the whole point: a change to specs/ cannot pass CI until the new rule is accounted for. This branch is a live demonstration, not for merge.
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.
This PR is a live demonstration, not a feature and not for merge.
It adds one new invariant to the frozen spec (
specs/invariants.md) and nothing else:The whole PayFlow thesis is that you cannot change the frozen spec without the pipeline noticing. So the pipeline is expected to be red here, and you can see exactly why without opening anything.
Where to look
Drift: spec coverage (the gate on the gate), which is red. That one gate refuses the build until the new rule is accounted for: listed in the coverage inventory and given a real oracle in the agent discovered suite.pipeline reportjob. Its summary renders the full pass/fail matrix, and it uploads apipeline-reportartifact (json and markdown) with every check's result. It runs soft, so it reports every check even though the gate that caught the fault is red.Reproduce locally
runs the whole pipeline as one soft matrix, seeds this same INV-8, and shows the coverage gate localize it while every other check stays green.
To resolve it for real, a maintainer would add INV-8 to
mutation/spec_coverage.jsonand let discovery propose its oracle, after which the same gate goes green.