Repository navigation
Conversation
The reviewed formal guides predate the Python port. Every statement about which ports replay the corpus, carry a replay mechanism or must be exercised now names TypeScript, Go, Rust and Python, checked against the validation targets, the conformance inventory and the hosted workflow. Native mutant mappings, generated-cohort fault detection and the causal publication monitor stay scoped to the ports that have them. Refresh the source-audit guide pins and the go-parity source-audit hash.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #226 +/- ##
==========================================
- Coverage 93.73% 93.73% -0.01%
==========================================
Files 78 78
Lines 11357 11357
Branches 656 656
==========================================
- Hits 10646 10645 -1
- Misses 641 642 +1
Partials 70 70
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
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
The reviewed formal guides predate the Python port (#200).
formal/catalogs/profiles.jsondeclares all 17 profiles fortypescript,go,rustandpython,make formalrunsformal-python, and the full formalworkflow gates on a
python-paritylane. The guides still described two or threeports. Step 4 of AUTHORING.md's "Codifying the next behavior", the workflow
agents follow for new behavior, said to replay "in TypeScript, Go and Rust".
What
Every statement about which ports replay the corpus, carry a replay mechanism or
must be exercised now names TypeScript, Go, Rust and Python. Each was checked
against
formal/tools/validation.mjs,formal/tools/conformance.mjs,formal/tools/explore.mjs,.github/workflows/formal-full.yamlandpython/tests/before it changed.walkthrough pointer; Python 3.11+ and
python/.venvsetup in theprerequisites;
make formal-pythonin the lane list; seven parallel hostedlanes (four parity, three mutation) instead of six.
summary and step 4. The fault-detection paragraph now says Python has no
native mutation campaign.
command that replays the example history.
JSON-lines coordinator transport; each port's no-settle control (Rust and
Python already have one); the Python
prepare, adapter andcheckcommands,default source inventory and witness-evidence inputs.
formal-summaryartifact and exploration ordering.make mutationscoversTypeScript, Go and Rust only.
TEST-AUDIT, TEST-MAP: replay statements that said "both ports" or
"TypeScript and Go" now say every port or list all four.
go-parity.json
sourceAuditSha256. Only hashes and line numbers changed.This PR changes no Quint models, profiles, replay code or behavior.
Left scoped to fewer ports on purpose
nativeMutants, themutations.jsonsections),generated-cohort fault detection and the mutation boundary gate cover
TypeScript and Go only. Rust keeps its note about its separate catalog.
feature-coverage.jsonname only TypeScript and Go tests.drivers. SPEC.md and SEMANTIC-COVERAGE.md now name those three instead of
"both drivers".
two-port runs and stay as history.
Design-record pointers skipped
#225 adds
design/README.mdbut has not merged;design/README.mdis not onorigin/main. This PR therefore leaves out the design-record row informal/README.md's task table and the opening sentence in AUTHORING.md's
"Codifying the next behavior". Both can follow once #225 lands.
Gaps noticed, not changed
PORTING.md's "New-port acceptance" asks for representative semantic mutations.
formal/tools/explore.mjsstill logs "both native witness leaves record theshortfall" when the tolerated witness step fails.
Verified
make auditandnode scripts/check-docs.mjspass on Node 24.20.0, as doestypescript/test/formal-source-audit.test.ts.heldPolicyDoesNotSpendSourceBudgetTestwith Quint 0.32.0, thennode formal/tools/run-python-replay.mjs --profile=source-budgets --trace=…passed (1 case, 8 steps).