Repository navigation
chore(v0.56): codecov config (#923) + three logged deferrals to v0.57 - #950
Merged
Merged
Conversation
…e deferrals ## #923 — measured first, and the measurement changed the plan `cargo llvm-cov --workspace` with CI's exclusion set, classified per file by whether an out-of-process EXECUTION oracle asserts it: class lines instrumented-covered differential 50238 86.2 % unit-only 47754 83.4 % TOTAL 97992 84.8 % The issue's hypothesis was that differential-covered files are dragged down because llvm-cov instruments IN-PROCESS while the differentials spawn `synth` separately. **At the aggregate that is not what the data shows** — differential-asserted files read slightly HIGHER than unit-only ones. The effect is real per-file (`synth-backend-aarch64/src/backend.rs`: 267 lines, 44.2 %, exercised end-to-end constantly) but it does not dominate. The measurement also named the real target, which is not the one expected: `synth-verify/src/arm_semantics.rs`, 2481 lines at 47.4 %, unit-only — the largest genuine gap in the workspace. Tests there add evidence; tests written to lift the aarch64 backend's number do not. That is step 2 of the issue and it is now a targeted job rather than a vague one. `codecov.yml` (validated against codecov's own endpoint — "Valid!"): * `project` target 80 %, threshold 1 % — a floor met today with headroom, so red means coverage genuinely FELL. Ratchet up as arm_semantics.rs closes. * `patch` `informational: true` EXPLICITLY. Not a surrender: a patch status cannot distinguish "untested" from "asserted by a differential the instrument cannot see", so until VG-009 lands it would report a number it has no way to make true. It still posts; `project` is the blocking one. The point is that an ignored red is worse than no check — it is the reflex that let a red Clippy through as "just codecov" (#683). ## Three deferrals to v0.57 — logged, not silent Scope moves are decisions, so they are recorded in rivet with reasons: RQ-56-GPIO #846 — changes SHIPPING BYTES for a 4-byte win; wants the frozen anchors + gpio differential re-pinned in its own gated lane, not a release-tail squeeze. RQ-56-A64PARAM #851 — capability work needing its own execution differential across the 4 named divergences. RQ-57-I32CONST #933 — NEW artifact. The issue had none, and an untriaged issue is invisible to the plan. A Rocq CONTRACT change across 9 .v files under the repo's own #166 gate ("never weaken a theorem to force a Qed"), with a long hermetic verify loop. `rivet validate` replaying the CI job's OURS filter: 0 errors, same as main. (The first draft of RQ-57-I32CONST added one — a `derives-from` link with no target — caught by running it rather than assuming.) Refs #923, #846, #851, #933 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 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.
#923 — measured first, and the measurement changed the plan
cargo llvm-cov --workspacewith CI's exclusion set, classified per file bywhether an out-of-process execution oracle asserts it:
The issue's hypothesis was that differential-covered files get dragged down
because
llvm-covinstruments in-process while the differentials spawnsynthseparately. At the aggregate that is not what the data shows —differential-asserted files read slightly higher. The effect is real per-file
(
synth-backend-aarch64/src/backend.rs: 267 lines, 44.2 %, exercisedend-to-end constantly) but it does not dominate; 6945 uncovered lines sit in
differential-asserted files.
The measurement also named the real target, and it is not the one expected:
synth-verify/src/arm_semantics.rs— 2481 lines at 47.4 %, unit-only, thelargest genuine gap in the workspace. Tests there add evidence; tests written
to lift the aarch64 backend's number would not. That makes step 2 of the issue
a targeted job instead of a vague one.
codecov.yml(validated against codecov's own endpoint —Valid!)projecttarget 80 %, threshold 1 % — a floor met today with headroom, soa red
projectmeans coverage genuinely fell, not "a PR touched an awkwardfile". Ratchet up as the
arm_semantics.rsgap closes.patchinformational: true, explicitly. Not a surrender: a patchstatus cannot distinguish "untested" from "asserted by a differential the
instrument cannot see", so until VG-009 lands it reports a number it has no
way to make true. It still posts — it just stops pretending to be a gate.
An ignored red is worse than no check; it's the reflex that let a red Clippy
through as "just codecov" (#683).
Three deferrals to v0.57 — logged, not silent
RQ-56-GPIO(#846)RQ-56-A64PARAM(#851)RQ-57-I32CONST(#933).vfiles under the repo's own #166 gate ("never weaken a theorem to force a Qed"), with a long hermetic verify looprivet validate, replaying the CI job's OURS-not-theirs filter: 0 errors,same as main. My first draft of
RQ-57-I32CONSTadded one — aderives-fromlink with no target — caught by running it rather than assuming.
Refs #923, #846, #851, #933
🤖 Generated with Claude Code
https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L