Skip to content

RQ-61-EXTRACT (#1080): delete 98 stale extraction snapshot files + the dune tree nothing runs; docs stop contradicting their own headers - #1121

Merged
avrabe merged 3 commits into
mainfrom
chore/extract-snapshots-1080
Sep 1, 2026
Merged

RQ-61-EXTRACT (#1080): delete 98 stale extraction snapshot files + the dune tree nothing runs; docs stop contradicting their own headers#1121
avrabe merged 3 commits into
mainfrom
chore/extract-snapshots-1080

Conversation

@avrabe

@avrabe avrabe commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

RQ-61-EXTRACT: delete the checked-in extraction snapshots nothing reads, and un-contradict the docs that cited them

Refs #1080. Executes the issue's option 1 with the scope the maintainer measurement enlarged to all four directories — after an independent consumer census that confirmed it (and widened the file count once more).

Independent consumer census (re-verified, not trusted)

Checked every workflow, every *.bazel/*.bzl, the only Makefile (coq/Makefile), coq/_CoqProject, every dune/dune-project, scripts/, claims.yaml, and a repo-wide text search for the snapshot basenames. No consumer exists:

  • coq/BUILD.bazel's rocq_library(name = "extraction") consumes only Synth/Extraction/CompilerExtract.v — the .v source, never the committed .ml. That target is untouched and still a dep of rocq_proofs.
  • dune appears in no workflow, bazel file, Makefile, or script. The dune tree was self-contained (compiler/dune copy_files'd from validation/).
  • One near-miss the issue census did not name: root BUILD.bazel had a filegroup(name = "test_data") globbing validation/**/*.wat. Zero consumers of //:test_data anywhere (the renode tests use //examples/wat:simple_add.wat, a different file), and with validation/ gone the empty glob would error under Bazel 8 — so the filegroup is deleted with the directory.
  • claims.yaml pins glob only coq/**/*.v paths — no pin names the snapshots. claim_check is 54/54 green on the branch.

Spot-checks of the issue numbers: staleness confirmed (BrIf — 2 hits in WasmInstructions.v, 0 in the committed WasmInstructions.ml); the 61-.ml census confirmed exactly (19/18/23/1); one additioncoq/ also carried 19 .mli siblings the census missed, same class, deleted with the rest.

Commit 1 — the deletion (107 files, −12,488 lines)

path what went
coq/*.ml + coq/*.mli 19 + 19 snapshots, up to nine months stale
extracted/ 18 .ml + 18 .mli + dune — a library nothing links
validation/ 23 .ml, dune files, poc_validator.md, README.md, test_cases/simple_add.wat — three executables nothing executes
compiler/ synth_compile.ml + dune
dune-project root
BUILD.bazel the unconsumed //:test_data filegroup

Commit 2 — the docs stop arguing with their own headers

  • docs/validation/VALIDATION_STATUS.mdbody rewritten. It opened with "has not been implemented … do not exist" and then said "Successfully implemented", "40 files total, ~80KB", "Status: Complete and ready for use ✅". It now describes only what exists: extraction as a CI Bazel target re-run every proof build, and the validation machinery that actually ships.
  • docs/validation/COMPREHENSIVE_VALIDATION_REPORT.md — historical-record header (it reports a real 2025-11 run of the now-removed executables; reproduce commands no longer apply).
  • docs/build-systems/COQ_DUNE_SETUP_GUIDE.md — "historical proposal — NOT adopted" header; the repo built proofs under Bazel/rules_rocq, the opposite of this guide's recommendation.
  • examples/pid-controller/COMPILER_DEMO.md — historical-demo header (synth_compile.exe no longer exists).
  • validation/poc_validator.md went with its directory.

The three analysis/research docs (LOOM_SYNTH_INTEGRATION_PLAN.md, RECOMMENDED_BUILD_ARCHITECTURE.md, BAZEL_INTEGRATION_RESEARCH.md) reference dune only as plan/research content in the future tense and were left as records.

Commit 3 — ledger

RQ-61-EXTRACT.yaml: fields.landed records this PR (stays proposed for the release-close status pass, per the R4 convention #1118 fixed).

Gates

  • python3 scripts/claim_check.py claims.yaml — 54/54 hold
  • python3 scripts/status_evidence_check.py — green after commit 3
  • cargo test --workspace --features riscv — result stated in the PR thread
  • bazel test //coq:verify_proofs — the load-bearing one (the .v extraction target must survive its outputs' deletion) — result stated in the PR thread

🤖 Generated with Claude Code

https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L

avrabe and others added 3 commits September 1, 2026 22:46
…and the dune tree nothing runs

CI re-runs extraction from Synth/Extraction/CompilerExtract.v into the Bazel
sandbox on every run and never reads these committed copies, which had drifted
for up to nine months (coq/WasmInstructions.ml predates BrIf) and disagree
with each other across directories (coq/Compilation.ml 316 lines vs
extracted/Compilation.ml 72).

Deleted (98 snapshot files = 61 .ml + 37 .mli, plus the dune plumbing):
- coq/*.ml + coq/*.mli        (19 + 19 — the .mli siblings were not in the
                               issue's census; same class, same fate)
- extracted/                  (18 .ml + 18 .mli + dune — a library nothing links)
- validation/                 (23 .ml + dune + dune-project + poc_validator.md
                               + README.md + test_cases/simple_add.wat — three
                               executables nothing executes; the renode tests
                               use //examples/wat:simple_add.wat, not this copy)
- compiler/                   (synth_compile.ml + dune)
- dune-project                (root; dune appears in no workflow, bazel file,
                               Makefile or script)
- BUILD.bazel //:test_data    (filegroup globbing only validation/**/*.wat —
                               zero consumers, and an empty glob is an error
                               under Bazel 8)

The .v extraction target (coq/BUILD.bazel rocq_library "extraction") is
untouched; bazel test //coq:verify_proofs still exercises it.

Refs #1080

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L
- docs/validation/VALIDATION_STATUS.md: BODY REWRITTEN. It opened with 'has
  not been implemented ... do not exist' and then said 'Successfully
  implemented', '40 files total, ~80KB', 'Status: Complete and ready for
  use'. Two claims, and the louder one wins. It now describes only what
  exists: extraction as the CI Bazel target, and the validation machinery
  that actually ships (proof suite, synth-verify, differential oracles).
- docs/validation/COMPREHENSIVE_VALIDATION_REPORT.md: historical-record
  header — it reports a real 2025-11 run of executables #1080 removed; the
  reproduce commands no longer apply.
- docs/build-systems/COQ_DUNE_SETUP_GUIDE.md: 'NOT adopted' header — the
  project built proofs under Bazel/rules_rocq, the opposite of this guide's
  recommendation, and the dune tree its plan produced is gone.
- examples/pid-controller/COMPILER_DEMO.md: historical-demo header — the
  synth_compile.exe driver it builds was removed in #1080.

validation/poc_validator.md and validation/README.md were deleted with their
directory in the previous commit.

Refs #1080

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L
… (PR #1121)

Status stays proposed for the release status pass; landed: is the R4
machine-readable acknowledgment (the #1118 convention — PR number, not
issue number).

Refs #1080

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L
@avrabe
avrabe force-pushed the chore/extract-snapshots-1080 branch from 2e42226 to da252fb Compare September 1, 2026 20:47
@avrabe avrabe changed the title RQ-61-EXTRACT (#1080): delete 105 stale extraction snapshots + the dune tree nothing runs; docs stop contradicting their own headers RQ-61-EXTRACT (#1080): delete 98 stale extraction snapshot files + the dune tree nothing runs; docs stop contradicting their own headers Sep 1, 2026
@avrabe

avrabe commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Gate results (local, exit-code gated)

gate result
bazel test //coq:verify_proofs PASS — rc=0, 2/2 tests (//coq:rocq_proofs, //coq:vcr_sel_rules_coverage); the .v extraction target compiled and the proof test ran on the post-deletion tree
cargo test --workspace --features riscv PASS — rc=0 (no Rust touched; proven, not assumed)
python3 scripts/claim_check.py claims.yaml PASS — 54/54 claims hold (no pin names the snapshots; all coq globs are *.v-scoped)
python3 scripts/status_evidence_check.py PASS — 0 failures (R4 acknowledged via fields.landed: PR #1121)

One history note: the branch was force-pushed once, pre-review, to correct a miscount in commit 1's own subject (105 → 98 snapshot files: 61 .ml + 37 .mli). Same content, corrected message.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@avrabe
avrabe merged commit a5c75ca into main Sep 1, 2026
59 checks passed
@avrabe
avrabe deleted the chore/extract-snapshots-1080 branch September 1, 2026 21:29
avrabe added a commit that referenced this pull request Sep 2, 2026
…tion floor — red-first on b4860e4/eefa19ef (+ RQ-61-EXTRACT flip) (#1124)

* RQ-61-R4BLIND (#1119): R4-issue scope resolution + R10 window attribution floor — red-first on b4860e4 and eefa19e

R4 only saw delivery commits whose subject STARTS with an artifact id, so
two v0.61 artifacts shipped via conventional-commit subjects and stayed
proposed with the gate green (#1119). Two rules, because the measured
corpus refutes half of option 2 as filed:

- R4-issue: a conventional-commit subject whose SCOPE names a
  fields.issue (fix(#1040): ...) resolves to that issue's highest-release
  holder and gets R4's acknowledgment demand. Scope-position ONLY — the
  description position is measured to name a CAUSE (eefa19e's #1104 is
  the PR that introduced the defect; resolving it would misattribute).
  Windowed to commits since the previous minor's tag, because
  fix(#1085) (#1090) is v0.60-era work on the issue RQ-61-EVIDENCE now
  holds — frozen history must not match the current issue map.

- R10: eefa19e names neither its artifact nor its issue, so NO resolver
  can attribute it — but its silence can be NOTICED. Every delivery-typed
  (feat/fix/perf/proof/test) first-parent commit in the release window
  must be attributable to SOME artifact: a known id anywhere in the
  subject, a known issue anywhere, or its PR in any landed:/verified-by:.
  The red forces exactly the landed: line #1120 wrote by hand.

RED-FIRST at 331bbd8 (last pre-flip commit, old gate 0 failures): the
fixed gate reports exactly 2 failures — R4 RQ-61-A32RELOC (fix(#1040) /
PR #1116) and R10 on 'fix(oracle): #1104 shadowed ...' (#1112) — and 0 on
main after the flip. Negative direction: 0cb36bc (fix(rivet): ...
RQ-61-VCLOSURE's ...) stays green — a mention is attribution, never a
delivery claim; Revert / description-position / ambiguous-issue shapes
all green (R4BlindSpot1119, 9 tests, mutation-verified: neutering
SCOPE_ISSUE or DELIVERY_TYPES each kills tests). ci.yml greps the new
status-evidence-window line so an underivable window is a CI red, not a
quiet skip.

Refs #1119

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L

* chore(rivet): flip RQ-61-EXTRACT to implemented — #1121's delivery re-verified clause by clause on main

All three done-when clauses verified independently rather than from the
PR body: the 98 snapshot .ml/.mli files across coq/, extracted/,
validation/, compiler/ are gone from the tree (delivery diff deletes
exactly 98); VALIDATION_STATUS.md is rewritten and no longer contradicts
its own header (the 'Successfully implemented' / 'Complete and ready'
body claims grep to nothing); the .v extraction target is untouched and
CI's 'Bazel Build & Proofs' passed on PR #1121, with main green at the
merge.

Note for #1119: a5c75ca was never in the R4 blind class — its subject
is id-first and its landed: names PR #1121, so old and fixed R4 both see
and accept it.

Refs #1080, #1121

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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