Plan formal-verification Makefile targets (15.1.4) - #541
Draft
lodyai[bot] wants to merge 1 commit into
Draft
Conversation
Draft an execution plan for roadmap item 15.1.4, which adds the `test-verification`, `kani`, `kani-full`, `verus`, `formal-pr`, and `formal-nightly` Makefile targets. The plan resolves the central tension that three targets have no harnesses or proofs to run yet (those land in roadmap 15.3.x and 15.5.x) against the success criterion that each target returns exit 0 on a clean tree. After a Logisphere design-review panel, the design uses explicit stubs via a shared `scripts/formal-stub.sh` helper rather than self-activating skip guards: each stub prints a structured `FORMAL-SKIP:` marker and exits 0, or exits non-zero under `FORMAL_STRICT=1` so later CI work can assert a target is no longer skipping. The owning roadmap item replaces each stub recipe in a loud, reviewable edit. The plan extends the existing formal-tooling test harness, adding a `target_prerequisites` helper and hardening `.PHONY` parsing so the prerequisite-only aggregate targets can be asserted. This commit adds the plan document only; implementation awaits approval. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
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.
Summary
Draft execution plan for roadmap item 15.1.4 (formal verification →
verification workspace and tooling), adding the
test-verification,kani,kani-full,verus,formal-pr, andformal-nightlyMakefile targets.The plan document is
docs/execplans/15-1-4-formal-verification-makefile-targets.md.This PR contains the execplan only — implementation has not started and awaits
approval of the plan.
Key design decision
Three of the six targets (
kani,kani-full,verus) have no harnesses orproofs to run yet — those land in later roadmap items (15.3.x and 15.5.x) — yet
the success criterion requires each target to return exit
0on a clean tree.After a Logisphere community-of-experts design review, the plan adopts explicit
stubs over self-activating skip guards:
test-verificationruns the existing Stateright model tests for real today.kani,kani-full, andverusinvoke a sharedscripts/formal-stub.shthatprints a structured
FORMAL-SKIP:marker and exits0, or exits non-zerounder
FORMAL_STRICT=1.loud, reviewable edit;
FORMAL_STRICTgives 15.1.5 (CI) a tripwire against aforgotten activation.
The review also corrected the test strategy: the existing formal-tooling helpers
cannot assert prerequisite-only aggregate rules or a wrapped
.PHONY, so theplan adds a
target_prerequisiteshelper and hardenshas_phony_target.Planning method
docs/formal-verification-methods-in-wireframe.md, andthe existing
tests/formal_tooling.rsharness.leynos/netsuke,leynos/chutoro, andleynos/mxd.surfaces, then a Logisphere design-review panel (Pandalump, Telefono,
Wafflecat, Dinolump, Doggylump) to stress-test and revise the design.
Reviewer focus
FORMAL_STRICT) the right call versuslanding a minimal real harness/proof now?
formal-pr: test-verification kani verus)acceptable given
check-kani-versionis excluded to keep the clean-tree gatetool-free?
methods document?
References