Commit d3db97d
refactor(l3/l1): consolidate Wave-3 to one Containerfile.wave3; ratify Zig-shim; Guix-primary (#73)
## What
Reconciles long-standing stale-doc-drift and lands three ratified
decisions.
### L3 Wave-3 — consolidated (the real inefficiency, fixed)
The nine `.containerization/Containerfile.<backend>` files each
re-compiled the
entire Rust core (≈9× the same build). Replaced with **one multi-target
`.containerization/Containerfile.wave3`**: a single shared
`rust-builder`
stage + one `--target` per prover. Per-backend runtime stages
(deps/ENV/healthcheck) preserved verbatim — only the duplicated compile
is
removed. `Justfile` `container-build-*` recipes and the
`container-ci.yml`
Tier-3 matrix rewired to `-f Containerfile.wave3 --target <prover>`.
Imandra
target stays licence-gated.
Guix-extend was investigated empirically and rejected as the primary
path:
only `scip`/`or-tools`/`metamath` are in Guix; 5 need bespoke package
definitions; Imandra is non-free.
### Packaging — Guix primary + sealed-container escape (estate ruling
2026-05-18)
`flake.nix` + `flake.lock` removed (a Nix file that only mirrors the
Guix
manifest is drift, not a fallback). `manifests/live-provers.scm`,
`.claude/CLAUDE.md`, `Justfile`, `STATE.a2ml` reconciled. The sealed
container
(`Containerfile.wave3`) is the single escape hatch for the not-in-Guix /
non-free tail. Estate-wide rollout tracked as tech debt in
`hyperpolymath/standards`.
### L1 — Julia transport ratified
Open question #2 resolved: **Zig C-ABI shim (buffer-oriented), not
`CapnProto.jl`** (estate-canonical: FFI=Zig, one codec shared with Rust,
Zig =
interface-safety transaction layer). `L1-CAPNPROTO-PROMPT.md`,
`VERSIONING.md`,
`TODO.md` reconciled; ReScript binding line corrected to AffineScript
(estate
ban); fixed dangling `L1-CAPNPROTO.md` ref in `echidna.capnp`.
## Why now
Wave-3 Containerfiles + L1 schemas were **already landed on main**
(`a87fae1`/`0a78906`/`b2a2ff7`) while `TODO.md`/`STATE.a2ml` still said
"author
them". Verified by reading, not trusting status text.
## Scope / caveats
- `Refs #53` — does **not** close any requirements-target issue.
- Static-correctness only: full `podman build` of the 9 targets was
**not**
run in this environment (heavy). Stage graph validated by construction —
all 9 target stages present, every `COPY --from=` resolves,
`rust-builder`
defined once and shared.
- L1 *implementation* remains gated on the L3 hand-off (Tier-1 green ≥7d
on
main; main CI stuck `queued/`, infra-owned). This PR is spec/design + L3
consolidation only.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent f611277 commit d3db97d
24 files changed
Lines changed: 1151 additions & 1468 deletions
File tree
- .claude
- .containerization
- .github/workflows
- .machine_readable/6a2
- docs/handover
- manifests
- schemas
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
138 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
139 | 144 | | |
140 | 145 | | |
141 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
30 | 35 | | |
31 | 36 | | |
| 37 | + | |
32 | 38 | | |
33 | 39 | | |
34 | 40 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
30 | 35 | | |
31 | 36 | | |
32 | 37 | | |
| |||
This file was deleted.
0 commit comments