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
checkpoint(2026-06-13): record dogfood proof-CI in state/roadmap/wiki + harden Lean job (#244)
Estate checkpoint refresh (echidna half), tracked in #238. Brings the
machine-readable state and docs current with PR #234 (proof corpus
repaired +
CI-gated, squash-merged to `main` 2026-06-06), and hardens the seam that
flaked on #234.
## `docs(checkpoint)` — state/roadmap/wiki
- **`STATE.a2ml`**: new `session-2026-06-13-dogfood-proof-ci` entry
(changes,
latent bugs fixed, CI-environment gotchas, gap closed); `last-updated`
bumped.
- **`ROADMAP.a2ml`**: proof-corpus CI recorded as a Stage-1 (Autonomous
Proof
Execution) gate; dates bumped.
- **`docs/ROADMAP.md`**: proof-corpus CI noted alongside the R5a/R5b
guardrails.
- **`docs/wiki/{Getting-Started,Home}.md`**: document `just proofs*` +
the
dogfood proof-CI for local runs (wiki kept bleeding-edge).
## `ci(proofs)` — Lean dependability
The Lean job let `lake build` resolve the pinned toolchain lazily; elan
maps the
version against the GitHub releases API, which flaked once on #234's
pre-merge
run (`failed to parse latest release tag`). The post-merge run on `main`
passed,
but the seam is non-deterministic. Now the exact toolchain from
`proofs/lean/lean-toolchain` is pre-installed in the install step with
retry/backoff, then `elan default`-ed — so `lake build` uses an
already-resolved
toolchain. Editing the workflow means the Dogfood CI runs on this PR and
validates the change live.
## Flagged for owner (not changed here)
- **Prover-count drift across surfaces**: GitHub repo *description* says
"48
prover backends", the wiki says "128", `STATE.a2ml`/echidnabot say
"113",
`ROADMAP.a2ml` says "105". `docs/PROVER_COUNT.md` is canonical and these
are
owner-managed (R5a) — left untouched; recommend reconciling, starting
with the
repo description.
- **Stale `estate-standardization-20260607` branch**: no PR, sits behind
`main`
at the same SHA as `chore/training-infrastructure-cleanups` — looks
abandoned.
- **`test-gpg-sign` + `test/ci-echidna-hypatia-fix`**: queued for
deletion in
#238 but the git proxy returns 403 on ref deletes and the GitHub MCP has
no
delete-branch tool — needs a one-line owner action.
Draft until reviewed.
https://claude.ai/code/session_01UAqDQaMwpUqWHUSZekGZWv
---
_Generated by [Claude
Code](https://claude.ai/code/session_01UAqDQaMwpUqWHUSZekGZWv)_
---------
Co-authored-by: Claude <noreply@anthropic.com>
"proofs/{coq,lean,agda} + src/idris: every theorem now type-checks against real toolchains (Coq 8.18, Lean v4.13.0, Agda 2.6.3 + stdlib v1.7.3, Idris2 0.8.0)",
27
+
"New .github/workflows/dogfood-proofs-ci.yml — Coq + Lean + Agda jobs, each invoking a just proofs-* recipe so CI and local runs share one command surface (RSR-H14)",
28
+
"idris2-abi-ci.yml extended to type-check the src/idris validator (src/idris/** added to its triggers)",
29
+
"New Justfile recipes: proofs, proofs-coq, proofs-lean, proofs-agda, proofs-idris",
30
+
]
31
+
latent-bugs-fixed = [
32
+
"proofs/lean/lakefile.lean rooted only ECHIDNA, so lake build was silently broken (unknown module prefix); now every module is a root",
33
+
"src/idris/Validator.idr had no main though its ipkg declares an executable; added main = testValidation",
34
+
]
35
+
ci-environment-notes = [
36
+
"taiki-e/install-action reproducibly startup_failure'd in the new workflow even though mvp-smoke.yml uses the same pin on main; worked around with plain run: installs (apt + curl tarballs). Allowed-actions policy worth a look.",
37
+
"apt --fix-missing silently dropped agda-stdlib (exit 0, library unregistered); Agda now fetches stdlib v1.7.3 from GitHub deterministically.",
38
+
"Lean toolchain resolution via elan flaked once on the pre-merge ref ('failed to parse latest release tag', a GitHub releases-API hiccup); the post-merge run on main passed. Hardened by pre-installing the pinned toolchain with retry/backoff.",
39
+
]
40
+
gap-closed = "Before #234 the corpus had zero CI: agda-meta-checker.yml gated meta-checker/**, idris2-abi-ci.yml gated src/abi/**, and there was no Coq or Lean workflow at all, so a green PR proved nothing about proofs/."
41
+
verification = "All proof jobs green end-to-end on PR #234 and on the post-merge push to main (Dogfood Proof Corpus run #11)."
42
+
21
43
[session-2026-06-02]
22
44
description = "Major wave: 20+ PRs across echidna+echidnabot+gitbot-fleet+hyperpolymath"
Copy file name to clipboardExpand all lines: docs/wiki/Home.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,3 +52,5 @@ The 2026-06-01 **prover/corpus/vocab/synonyms/arbitration saturation campaign**
52
52
-[`docs/architecture/VERISIM-ER-SCHEMA.md`](https://github.com/hyperpolymath/echidna/blob/main/docs/architecture/VERISIM-ER-SCHEMA.md) — VeriSim ↔ ECHIDNA E-R schema (12 entities + 7 relationships, each with Rust struct + VeriSimDB table + Cap'n Proto schema + PK/FK).
53
53
-[`docs/decisions/2026-06-01-saturation-campaign.md`](https://github.com/hyperpolymath/echidna/blob/main/docs/decisions/2026-06-01-saturation-campaign.md) — ADR documenting the ordered marginal-benefit hierarchy and the decision to execute levers (1)–(6) and defer (7) GNN-training.
54
54
-[`docs/handover/PROVER-CORPUS-SATURATION-LANE.md`](https://github.com/hyperpolymath/echidna/blob/main/docs/handover/PROVER-CORPUS-SATURATION-LANE.md) — saturation lane handover with sibling-branch collision avoidance.
55
+
56
+
The **dogfood proof corpus is now CI-gated**: every theorem under `proofs/{coq,lean,agda}` and the `src/idris` validator type-checks on each PR (`dogfood-proofs-ci.yml` + `idris2-abi-ci.yml`), each driven by a `just proofs-*` recipe — closing a gap where the corpus had no CI. Run it locally via `just proofs`; see [Getting Started](Getting-Started).
0 commit comments