Skip to content

Add Quint Connect - #239

Open
davidabram wants to merge 9 commits into
mutation-cursorfrom
quint-connect
Open

Add Quint Connect #239
davidabram wants to merge 9 commits into
mutation-cursorfrom
quint-connect

Conversation

@davidabram

Copy link
Copy Markdown
Member

No description provided.

@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sce-config-json Ready Ready Preview Aug 27, 2026 10:18am

Request Review

davidabram and others added 5 commits August 27, 2026 10:35
Define the staged implementation for continuously checking the pure Rust mutation-trace protocol against the Quint model. The plan covers the dev-only dependency, named randomized prepare actions, model-based driver and state projection, deterministic scenario replays, generated traces with seed reproduction, CI wiring, and architecture documentation.

Plan: mutation-cursor-quint-connect (T01-T06)

Co-authored-by: SCE <sce@crocoder.dev>
Enable the planned mutation-cursor Quint Connect harness without adding a runtime dependency by declaring quint-connect as a CLI dev-dependency and refreshing the Cargo lockfile and Flatpak cargo source descriptors.

Document the dependency baseline and complete the dependency-pinning task for the model-based-testing plan.
Plan: mutation-cursor-quint-connect, T01

Co-authored-by: SCE <sce@crocoder.dev>
Record the semantic operation and concrete arguments in a verification-only
MbtAction state variable, including guarded no-op paths, so Quint Connect can
dispatch on the invoked operation without stutter erasing its attribution.
Update the mutation cursor actions while preserving their semantic state
transitions and verify the spec's existing scenarios and safety invariants.

Plan: mutation-cursor-quint-connect T02

Co-authored-by: SCE <sce@crocoder.dev>
Record why `randomPrepare` remains a single `step` alternative: `prepare` already carries the concrete boundary through `MbtPrepare`, so no redundant `PrepareKind` choice is needed. Mark the completed task and verification evidence in the associated plan without changing model behavior.
Plan: mutation-cursor-quint-connect.md (T03)

Co-authored-by: SCE <sce@crocoder.dev>
Connect the mutation cursor Quint model to the pure Rust protocol so non-default
trace arguments and resulting comparable state are exercised end to end. Add ITF
wire mappings, a test-only driver, and a non-default-value replay scenario without
changing production behavior.

Plan: mutation-cursor-quint-connect T04

Co-authored-by: SCE <sce@crocoder.dev>
Exercise the remaining deterministic scenarios and guarded no-op regressions through the real Rust protocol, then compare generated Quint traces against the model across 500 samples. This expands MBT coverage without changing production protocol behavior.

Plan: mutation-cursor-quint-connect, T05

Co-authored-by: SCE <sce@crocoder.dev>
Ensure Rust refinement tests replay every named Quint scenario while limiting deterministic samples to one, and make wire-state deserialization reject unclassified Quint fields. Update the workflow path filter so all mutation-trace changes trigger Quint checks.

This prevents verification-only state from being silently ignored and keeps new mutation-trace changes covered by CI.

Co-authored-by: SCE <sce@crocoder.dev>
Keep pull-request checks working when the preferred binary cache is unavailable.
Pass Nix's fallback option to flake checks and package builds so CI can build dependencies locally instead of failing on cache access.

Co-authored-by: SCE <sce@crocoder.dev>
Keep the Quint test macro invocation in rustfmt's canonical single-line format.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant