Commit 6db1f6d
## Summary
Closes #227 — adds `.github/workflows/coq-build.yml` so the standing
directive "for proof PRs, the toolchain build is the ONLY merge oracle"
is machine-enforced.
## Today's incident motivating this
PR #224 admin-merged 7 min after PR #223; all 17 governance/scanner
checks were green; `coqc` was not run; main broke with
`tfuneff_lambda_retype_l1_m already exists`. Hotfix #226 restored
compilation; #227 was filed in parallel asking for the oracle gap to be
closed at workflow-level.
## What the workflow does
- Triggers on PR + push-to-main, scoped to `formal/**` paths (only fires
when proofs change).
- Container: `coqorg/coq:8.18` (matches `formal/Justfile`'s pinned
toolchain).
- Builds via the same recipe `formal/Justfile all` uses:
```
coq_makefile -f _CoqProject -o build.mk
make -f build.mk
```
- After a clean build, runs `Print Assumptions preservation_l2_via_l1`
and prints the tail. Any new `Admitted.` / `Axiom` slippage shows as a
workflow-output diff.
## What this PR does NOT do
- Branch-protection / required-check designation is **owner's call**
(admin-only in GitHub Settings). The workflow file ships first so the
check identity exists; one green run on main lets you mark it required.
## Test plan
- [ ] First CI run on this PR builds `formal/_CoqProject` clean
- [ ] `Print Assumptions preservation_l2_via_l1` output appears in the
log
- [ ] (Manual, post-merge) Mark `Coq build — formal/_CoqProject` as a
required check
## Refs
- Closes #227
- Refs #229 (sibling — the broader "no Coq oracle" surface this closes)
- Refs #226 (hotfix that motivated this)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent df6d7b5 commit 6db1f6d
1 file changed
Lines changed: 80 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
0 commit comments