You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scope: the Coq/Agda/Z3/Isabelle/Mizar orchestration. The Lean leg (FilesystemCNO/LambdaCNO derive False; never run in CI) is #125; Coq axiom and Idris believe_me debt is #70; the Idris postulates are #27. None of that is duplicated here.
.github/workflows/proofs.yml:20–26paths: ['proofs/**'] on push and pull_request: a change to the workflow itself, to Justfile, or to any prover config outside proofs/ never runs the proofs. The workflow is absent from the last 12 runs on main.
proofs.yml:94sh proofs/z3/verify.sh || true: the Z3 CNO checks cannot fail the job. :95z3 proofs/z3/ond/OND_checks.smt2 can, but only by exit code, never by asserting unsat/sat text.
proofs/verify-all-provers.sh:41–53: Isabelle and Mizar print "(skipped)" when absent and do not set fail=1, so the script can say green on 4 of 6 provers. Z3, and Isabelle when present, do set fail=1.
A workflow that does not run on the commits that change it, cannot fail on the checks that matter, and never prints its assumptions is a green square with no predicate behind it.
Acceptance criteria
The paths: filter is removed, or widened to include .github/workflows/proofs.yml, Justfile, *.agda-lib, _CoqProject, lakefile*, so the workflow runs on every push to main. Watched-failing → green: it appears in gh run list -b main for the fix commit.
|| true removed at :94; the Z3 step asserts the expected unsat/sat lines from verify.sh output, not just exit 0.
verify-all-provers.sh sets fail=1 when a prover is absent unless the caller sets an explicit SKIP_ISABELLE=1 / SKIP_MIZAR=1; CI sets neither. Mutant: with isabelle off PATH and no skip variable, the script exits non-zero.
An assumption step: coqchk plus Print Assumptions <headline theorem>. for each headline theorem, with the output asserted to list only the METAL-BOUNDARY axioms; the CI log shows the lists.
Scope: the Coq/Agda/Z3/Isabelle/Mizar orchestration. The Lean leg (
FilesystemCNO/LambdaCNOderiveFalse; never run in CI) is #125; Coq axiom and Idrisbelieve_medebt is #70; the Idris postulates are #27. None of that is duplicated here.Measured (2026-09-22, main = 74202cb)
.github/workflows/proofs.yml:20–26paths: ['proofs/**']on push and pull_request: a change to the workflow itself, toJustfile, or to any prover config outsideproofs/never runs the proofs. The workflow is absent from the last 12 runs on main.proofs.yml:94sh proofs/z3/verify.sh || true: the Z3 CNO checks cannot fail the job.:95z3 proofs/z3/ond/OND_checks.smt2can, but only by exit code, never by assertingunsat/sattext.proofs/verify-all-provers.sh:41–53: Isabelle and Mizar print "(skipped)" when absent and do not setfail=1, so the script can say green on 4 of 6 provers. Z3, and Isabelle when present, do setfail=1.proofs.yml:80–82type-checks onlyCNO.agdaandOND.agda(the third file,EchoBridgeCNO.agda, isEchoBridgeCNO.agdahas no--safe --without-Kpragma and is not checked by proofs.yml, while PROOF-STATUS:154 says it type-checks under--safe#162).Print Assumptions(Coq) or#print axioms(Lean) step exists anywhere in CI. The Coq side carries 37 liveAxiom/Parameterdeclarations, 13 tagged METAL-BOUNDARY (proof-debt: triage matches proven#107 overly-cautious-OWED pattern — 17 Coq axioms + 5 Idris believe_me's discharge candidates #70 tracks the debt itself); "closed under the global context" is prose until a run prints the list.Why it matters
A workflow that does not run on the commits that change it, cannot fail on the checks that matter, and never prints its assumptions is a green square with no predicate behind it.
Acceptance criteria
paths:filter is removed, or widened to include.github/workflows/proofs.yml,Justfile,*.agda-lib,_CoqProject,lakefile*, so the workflow runs on every push to main. Watched-failing → green: it appears ingh run list -b mainfor the fix commit.|| trueremoved at:94; the Z3 step asserts the expectedunsat/satlines fromverify.shoutput, not just exit 0.verify-all-provers.shsetsfail=1when a prover is absent unless the caller sets an explicitSKIP_ISABELLE=1/SKIP_MIZAR=1; CI sets neither. Mutant: withisabelleoff PATH and no skip variable, the script exits non-zero.coqchkplusPrint Assumptions <headline theorem>.for each headline theorem, with the output asserted to list only the METAL-BOUNDARY axioms; the CI log shows the lists.🤖 Generated with Claude Code