Conversation
… commit 3/8)
Adds `spar moves verify --component X --to Y --format {json,text}`,
the first user-facing surface of the v0.8.0 migration oracle. Builds a
BindingOverlay (commit 2) over the parsed instance, runs frozen /
allowed-targets validation, runs the analysis-pass suite under the
overlay-aware property lookup, and emits a structured pass/fail report.
Exit codes: 0 = ok, 1 = analysis errors, 2 = binding violations.
JSON output is the canonical machine-readable shape (consumed later by
the v0.9.0 MCP tool surface). Text output is the developer-friendly
human-readable format.
For commit 3, only analyses that already consume actual_processor_binding
are overlay-aware. Widening to bandwidth, latency, EMV2 etc. is commit 4.
New requirement: REQ-MIGRATION-005.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
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
spar moves verify --component X --to Y --format {json,text}— the first user-facing surface of the v0.8.0 migration oracle (Track E commit 3 of 8).BindingOverlay(commit 2, feat(migration): tentative-binding overlay (Track E commit 2/8) #164) over the parsed instance, runs frozen / allowed-targets validation, runs the standard analysis-pass suite, and emits a structuredMoveVerifyReportin either text or JSON form.0= move admissible,1= analysis errors,2= overlay (Frozen / Allowed_Targets) violations.What's in
spar moves verify— hand-rolled arg parsing matching the rest ofspar-cli's subcommand pattern (no clap dependency added).crates/spar-cli/src/moves.rs(~735 LOC):run_verify,MoveVerifyReport,Violation(Frozen / AllowedTargets / AnalysisError variants),DiagnosticOut, FQN-suffix matcher with deepest-match-wins tie-breaking.spar.verify_movetool will consume; text shape is the developer-friendly path.crates/spar-cli/tests/moves_verify.rs) covering ok, unknown target / component, frozen violation, allowed-targets violation, analysis-error pass-through, both output formats, non-mutation invariant, and trivial fixed-point.REQ-MIGRATION-005,TEST-MOVES-VERIFY(links to REQ-MIGRATION-{004,005}).What's NOT in (deferred)
spar moves enumerate— Track E commit 4.spar moves optimize/ spar-solver hypothetical mode — commits 5–6.spar.verify_move,spar.enumerate_moves) — v0.9.0.COMPLIANCE.md— close-out commit 8.spar-solver; MCP code; Track D ζ surface — untouched per scope.Test plan
cargo build --workspacecleancargo test --workspacegreen — 55 test runs, 0 failures (existing 800+ tests still pass; 10 new CLI tests are additive)cargo clippy --workspace --all-targets -- -D warningscleancargo fmt --all -- --checkcleanrivet validatepasses (no new gaps)spar moves verify --helprenders informative helpspartop-level usage now listsmoves🤖 Generated with Claude Code