Skip to content

fix(renovate): bind CI pins to source - #425

Merged
P4suta merged 4 commits into
mainfrom
fix/ci-rust-pin-evidence
Oct 24, 2026
Merged

P4suta merged 4 commits into
mainfrom
fix/ci-rust-pin-evidence

Conversation

@P4suta

@P4suta P4suta commented Oct 24, 2026

Copy link
Copy Markdown
Owner

Why

Rust toolchain inputs supplied by step outputs failed the dependency gate even when mise had checked the corresponding literal pin.
A matching dependency name also admitted a locked mise record without checking its committed declaration.

Changes

Bind the two supported Rust readers to regular UTF-8 Git blobs from the offered commit.
Check exact scripts, every matching consumer, unique producers, immutable Action references, controller identity and checkout guards, and one successful source-matched literal counterpart.
Reject duplicate keys, unsupported YAML features, and raw C0 characters that can hide trailing data.
Limit input to 128 KiB and collection nesting to 64 levels.

Apply source binding to locked mise dependencies and the existing HTTP release counterpart.
Keep version-only HTTP table changes subject to freshness checks and add source-bound saved-report inspection.
Include composite Action metadata in manifest detection.

Register the actual parser fuzz target and the character predicate's Kani obligation with three rejecting controls.
Include embedded workflow fixtures in the build fingerprint and align spelling checks with the existing binary corpus classification.
The 32 profile manifest changes contain only the owner-map hash, and all 16 Windows manifests match native Windows output.

Validation

mise x -- just check passed.
The implementation-bound character proof and all three rejecting controls passed through the bounded project driver.
The AddressSanitizer parser campaign loaded all seven committed seeds, including the NUL counterexample, and completed 1,024 runs with fixed seed 1.
Native Bash and pinned PowerShell reader checks passed on macOS, and the PowerShell, character predicate, and source-blob regressions passed on Windows.
The complete saved Renovate report for unchanged find-my-files commit 05ce0eaf passed source-bound inspection with 134 selected update candidates and zero notices.
The report inspection establishes lookup validity rather than freshness for every existing version.

Closes #222.

@coderabbitai ignore

@P4suta
P4suta marked this pull request as ready for review October 24, 2026 21:59
@P4suta
P4suta merged commit ab43568 into main Oct 24, 2026
6 checks passed
@P4suta
P4suta deleted the fix/ci-rust-pin-evidence branch October 24, 2026 21:59
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.

fix(renovate): verify tool pins shared by mise and CI

1 participant