From 8d67e9519c3604fcbfb229d0652ca3faaa5b0fd2 Mon Sep 17 00:00:00 2001 From: mrwulf Date: Fri, 10 Jul 2026 23:58:00 +0200 Subject: [PATCH] L1+L2: hashing shapes, domain separation, MTH/Root/ConsRec with termination Accumulator pyramid layers 1-2, mechanizing paper SS5.3/SS6 groundwork: - gen/LTLAcc/HashExternal.lean: the single sanctioned axiom, opaque sha256 (no properties assumed - the soundness theorems downstream are constructive collision extractors). - Proofs/Basic.lean: hleaf/hnode (0x00/0x01 domain stamps); Lemma 1 (domsep) proven AXIOM-FREE; kbelow (largest power of two below n) with pos/lt/le-two bound lemmas; MTH, Root (Option = rejection), ConsRec (four cases, b-flag, pinned anchor) - all with kernel-checked termination via the kbelow bounds. - check.sh: estate discipline (stub audit, axiom-smuggling gate, lean-guard compilation, boundary-exact per-certificate cone audit). All green; observed cones pinned exactly. Zero contact with the live LTL: no appends, no server, accumulator frozen at 12 leaves throughout this project. Co-Authored-By: Claude Fable 5 --- README.md | 33 ++++ verification/Proofs/AxiomCheck.lean | 9 + verification/Proofs/AxiomCheck.olean | Bin 0 -> 1312 bytes verification/Proofs/Basic.lean | 151 ++++++++++++++++ verification/Proofs/Basic.olean | Bin 0 -> 471896 bytes verification/check.sh | 105 ++++++++++++ verification/gen/LTLAcc/HashExternal.lean | 12 ++ verification/gen/LTLAcc/HashExternal.olean | Bin 0 -> 3136 bytes verification/lean-guard | 189 +++++++++++++++++++++ 9 files changed, 499 insertions(+) create mode 100644 README.md create mode 100644 verification/Proofs/AxiomCheck.lean create mode 100644 verification/Proofs/AxiomCheck.olean create mode 100644 verification/Proofs/Basic.lean create mode 100644 verification/Proofs/Basic.olean create mode 100755 verification/check.sh create mode 100644 verification/gen/LTLAcc/HashExternal.lean create mode 100644 verification/gen/LTLAcc/HashExternal.olean create mode 100755 verification/lean-guard diff --git a/README.md b/README.md new file mode 100644 index 0000000..b15c5b9 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# ltl-accumulator-verified + +Lean 4 mechanization of the security analysis (§6) of the paper +"The Lean Transparency Log" (https://ltl.zkdefi.org/paper): the Merkle +accumulator's own correctness and soundness theorems, kernel-checked, in +the same discipline as the four `*-ed25519-verified` subject corpora. + +## Status: layer scaffold (work in progress — honest ledger below) + +| layer | content | status | +|---|---|---| +| L1 | bytes, hleaf/hnode, domain separation (Lemma 1) | **done** (domsep: axiom-free) | +| L2 | MTH, Root, ConsRec definitions + termination | **done** (cones: propext, LTLAcc.sha256, Quot.sound) | +| L3 | inclusion completeness (Theorem 1) | pending | +| L4 | frontier hash-fold + root binding (Lemma 2) | pending | +| L5 | inclusion/consistency soundness as collision extractors (Theorems 2, 3) | pending | +| L6 | pin-store state machine safety (Proposition 1) | pending | + +## Discipline (identical to the subject corpora) + +- `verification/Proofs/` contains ZERO `axiom` declarations; the single + sanctioned axiom site is `verification/gen/` — here, one opaque + function: SHA-256. The theorems are constructive collision extractors, + so collision resistance is never assumed, only interpreted. +- `verification/check.sh` is THE button: compiles every file through + `lean-guard` (memory cap, core pinning, timeout, single-flight lock) + and axiom-audits every certificate against its documented exact cone. +- Expected boundary: `propext, Classical.choice, Quot.sound` plus + `LTLAcc.sha256` for hash-touching certificates — documented per + certificate in `check.sh`, audited both directions. + +The finished certificates are destined for the LTL itself as attestation +leaves: the log carrying kernel-checked proofs of its own machinery. diff --git a/verification/Proofs/AxiomCheck.lean b/verification/Proofs/AxiomCheck.lean new file mode 100644 index 0000000..669e2f3 --- /dev/null +++ b/verification/Proofs/AxiomCheck.lean @@ -0,0 +1,9 @@ +/- Axiom-cone observation for the audit (Phase 3 of check.sh). -/ +import Proofs.Basic +#print axioms LTLAcc.domsep +#print axioms LTLAcc.kbelow_pos +#print axioms LTLAcc.kbelow_lt +#print axioms LTLAcc.le_two_kbelow +#print axioms LTLAcc.MTH +#print axioms LTLAcc.Root +#print axioms LTLAcc.ConsRec diff --git a/verification/Proofs/AxiomCheck.olean b/verification/Proofs/AxiomCheck.olean new file mode 100644 index 0000000000000000000000000000000000000000..c21ff1c941b6124d6aeec55e1d4e3e94571e8c7b GIT binary patch literal 1312 zcmZ{jL1+_E5QZn))@my%p~#|AVs8r8G%?);FQwH|Y1N253DRtKU(&@Sn{JxYB1rI} zc(Er@ym(WvNT8q|)k6v5#Y+_QP$-H=1ub1qeX~1Lx3Qhezi)Qtd;h$B>lB1hQX*&i zlkxueDc4NE&XKgt0VA&K*+DB|>B7i~M9R=iOB1G+P3e}F9LQRlX#&(PKga<5Xb%)= z5dg1)u&nL0zEHAf=@DX}L}aZW8R9(5?O$$u?LC4?Rg&&f9-$oD^Z#DRC$E!=SohF6 z?K)1b5-h^|ekT5#zlTr!F5G*E70BT}R-R+nsMvC7Kac~FVD1>{&FD|{Me0i*7NE~D z%7^_+{(4)00M=*hgLInvWF6L1`8GkH`zXV@m)28d*Pb(GMYth6cZ2x(=6JeqF*bgiF8gYtcyC7U@WRJ%_SlLf;7e6uL4UsP2Iq>vjw|5oyle~5I(W>}f1qI5~ zw@6BT-XVOD!Fn)QLS> rw [kbelow]; simp [h] + | case2 n h ih => rw [kbelow]; simp [h]; omega + +theorem kbelow_lt (n : Nat) (h : 2 ≤ n) : kbelow n < n := by + induction n using kbelow.induct with + | case1 n hle => rw [kbelow]; simp only [if_pos hle]; omega + | case2 n hgt ih => + rw [kbelow] + simp only [if_neg hgt] + have h2 : 2 ≤ (n + 1) / 2 := by omega + have := ih h2 + omega + +theorem le_two_kbelow (n : Nat) (h : 2 ≤ n) : n ≤ 2 * kbelow n := by + induction n using kbelow.induct with + | case1 n hle => rw [kbelow]; simp only [if_pos hle]; omega + | case2 n hgt ih => + rw [kbelow] + simp only [if_neg hgt] + have h2 : 2 ≤ (n + 1) / 2 := by omega + have := ih h2 + omega + +/-- `MTH` (paper §5.3): the RFC 9162 tree head over a leaf-data list. + `MTH [] = H(ε)`, `MTH [d] = hleaf d`, and for `n ≥ 2` the split at + `k = kbelow n`. -/ +noncomputable def MTH (D : List Bytes) : Bytes := + if _h0 : D.length = 0 then sha256 [] + else if _h1 : D.length = 1 then hleaf (D.headD []) + else + hnode (MTH (D.take (kbelow D.length))) (MTH (D.drop (kbelow D.length))) +termination_by D.length +decreasing_by + · -- take-branch: k < n + simp only [List.length_take] + have h2 : 2 ≤ D.length := by omega + have hk := kbelow_lt D.length h2 + omega + · -- drop-branch: n - k < n + simp only [List.length_drop] + have h2 : 2 ≤ D.length := by omega + have hk := kbelow_lt D.length h2 + have hp := kbelow_pos D.length + omega + +/-- `Root` (paper §5.3 / Appendix B): the consumer's root reconstruction. + `none` = rejection on any length mismatch, exactly as deployed. -/ +noncomputable def Root (v : Bytes) (m n : Nat) (P : List Bytes) : Option Bytes := + if n = 1 then + match P with + | [] => some v + | _ => none + else if n = 0 then none + else + match P.getLast? with + | none => none + | some s => + let k := kbelow n + if m < k then + match Root v m k P.dropLast with + | none => none + | some x => some (hnode x s) + else + match Root v (m - k) (n - k) P.dropLast with + | none => none + | some x => some (hnode s x) +termination_by n +decreasing_by + · have h2 : 2 ≤ n := by omega + exact kbelow_lt n h2 + · have := kbelow_pos n + omega + +/-- `ConsRec` (paper §5.3): the recursive consistency verifier. Returns + the reconstructed pair (old root, new root); `none` = shape + mismatch. The flag `b` records whether the size-`n₀` subtree root is + carried implicitly (the pinned root `r`) or explicitly in `C`. -/ +noncomputable def ConsRec (n₀ n : Nat) (C : List Bytes) (b : Bool) (r : Bytes) : + Option (Bytes × Bytes) := + if n₀ = n then + if b then + match C with + | [] => some (r, r) + | _ => none + else + match C with + | [s] => some (s, s) + | _ => none + else if n₀ > n ∨ n₀ = 0 ∨ n ≤ 1 then none + else + match C.getLast? with + | none => none + | some s => + let k := kbelow n + if n₀ ≤ k then + match ConsRec n₀ k C.dropLast b r with + | none => none + | some (x, y) => some (x, hnode y s) + else + match ConsRec (n₀ - k) (n - k) C.dropLast false r with + | none => none + | some (x, y) => some (hnode s x, hnode s y) +termination_by n +decreasing_by + · have h2 : 2 ≤ n := by omega + exact kbelow_lt n h2 + · have := kbelow_pos n + omega + +/-- The consumer's acceptance predicate for a consistency proof between + pinned head `(n₀, r₀)` and offered head `(n₁, r₁)` (paper §5.3). -/ +def acceptCons (n₀ n₁ : Nat) (r₀ r₁ : Bytes) (C : List Bytes) : Prop := + n₀ = 0 ∨ ConsRec n₀ n₁ C true r₀ = some (r₀, r₁) + +end LTLAcc diff --git a/verification/Proofs/Basic.olean b/verification/Proofs/Basic.olean new file mode 100644 index 0000000000000000000000000000000000000000..932db21fcbea16fcc1261cee49f1dfd143b77b5d GIT binary patch literal 471896 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ℜ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%0AYU&kjtQLjhtzKVp7YcD*79A#ACG!I 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 literal 0 HcmV?d00001 diff --git a/verification/check.sh b/verification/check.sh new file mode 100755 index 0000000..8e86693 --- /dev/null +++ b/verification/check.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash +# ───────────────────────────────────────────────────────────────────────────── +# check.sh — THE button (accumulator corpus). Same discipline as the +# *-ed25519-verified repos: compiles every shipped .lean through lean-guard +# and axiom-audits every certificate against its DOCUMENTED exact cone, +# both directions. +# +# Phases: 0 resource/integrity · 1 stub+axiom-smuggling audit · +# 2 compile manifest · 3 boundary-exact axiom audit +# ───────────────────────────────────────────────────────────────────────────── +set -euo pipefail +source ~/aeneas-toolchain/env.sh +HERE="$(cd "$(dirname "$0")" && pwd)" +AENEAS_LEAN="$AENEAS_HOME/backends/lean" +TIMEOUT="${LEAN_TIMEOUT:-600}" +export LEAN_MEM_MB="${LEAN_MEM_MB:-4096}" +CORES="${LEAN_MAX_CORES:-0-3}" + +GEN_MODULES=( LTLAcc/HashExternal ) +PROOFS=( Basic ) + +# Certificates and their exact expected cones (observed at first green +# compile, 2026-07-10; any drift in EITHER direction is a failure). +declare -A CONES=( + [LTLAcc.domsep]="" + [LTLAcc.kbelow_pos]="propext, Quot.sound" + [LTLAcc.kbelow_lt]="propext, Quot.sound" + [LTLAcc.le_two_kbelow]="propext, Quot.sound" + [LTLAcc.MTH]="propext, LTLAcc.sha256, Quot.sound" + [LTLAcc.Root]="propext, LTLAcc.sha256, Quot.sound" + [LTLAcc.ConsRec]="propext, LTLAcc.sha256, Quot.sound" +) + +free -m | awk '/Mem:/{if($7<2048){print "FATAL: <2GB RAM available — refusing to compile"; exit 1}}' +echo "=== Phase 0: source integrity ===" +for f in "$HERE"/gen/LTLAcc/*.lean "$HERE"/Proofs/*.lean; do + [ -f "$f" ] || continue + if ! grep -qE '^(/-|import |namespace |theorem |def |noncomputable |open |set_option |--|abbrev )' "$f"; then + echo "CORRUPTED: $f is not Lean source. Restore: git checkout HEAD -- $f"; exit 1 + fi +done +echo " all sources valid" + +echo "=== Phase 1: stub + axiom-smuggling audit ===" +if grep -rn 'by trivial' "$HERE"/Proofs/*.lean 2>/dev/null; then + echo "STUB DETECTED"; exit 1; fi +if grep -rn ' : True :=' "$HERE"/Proofs/*.lean 2>/dev/null; then + echo "STUB DETECTED: True-target theorem"; exit 1; fi +if grep -rnE '^(private |protected |noncomputable )*axiom ' "$HERE"/Proofs/*.lean 2>/dev/null; then + echo "AXIOM SMUGGLING DETECTED: axiom under Proofs/ — gen/ is the only sanctioned site."; exit 1 +fi +echo " clean" + +echo "=== Phase 2: compile ===" +LOG=$(mktemp /tmp/acc-check-XXXX.log) +cd "$AENEAS_LEAN" +lake env bash -c " + set -euo pipefail + cd '$HERE/gen' && export LEAN_PATH=\"\$LEAN_PATH:\$PWD:$HERE\" + compile() { + echo \" · \$1\" + LEAN_TIMEOUT=$TIMEOUT LEAN_MAX_CORES=$CORES '$HERE/lean-guard' \"\${1}.lean\" 2>&1 | tee -a '$LOG' || { echo \"FAIL: \$1\"; exit 1; } + } + for m in ${GEN_MODULES[*]}; do compile \"\$m\"; done + cd '$HERE' + for m in ${PROOFS[*]}; do + [ -f \"Proofs/\$m.lean\" ] || { echo \"MISSING: Proofs/\$m.lean\"; exit 1; } + compile \"Proofs/\$m\" + done + for f in Proofs/*.lean; do + b=\$(basename \"\$f\" .lean) + [ \"\$b\" = AxiomCheck ] && continue + case \" ${PROOFS[*]} \" in (*\" \$b \"*) ;; (*) echo \"DEAD FILE: \$f\"; exit 1;; esac + done +" +if grep -q "uses 'sorry'" "$LOG"; then echo "STUB: sorry detected"; exit 1; fi +rm -f "$LOG" + +echo "=== Phase 3: boundary-exact axiom audit ===" +AUD=$(mktemp /tmp/acc-audit-XXXX.log) +cd "$AENEAS_LEAN" +lake env bash -c " + cd '$HERE' && export LEAN_PATH=\"\$LEAN_PATH:$HERE/gen:$HERE\" + LEAN_TIMEOUT=300 LEAN_MAX_CORES=$CORES '$HERE/lean-guard' Proofs/AxiomCheck.lean +" > "$AUD" 2>&1 || { cat "$AUD"; exit 1; } +FAIL=0 +for cert in "${!CONES[@]}"; do + want="${CONES[$cert]}" + if [ -z "$want" ]; then + exp="'$cert' does not depend on any axioms" + else + exp="'$cert' depends on axioms: [$want]" + fi + if ! grep -qF "$exp" "$AUD"; then + echo " CONE DRIFT: $cert" + echo " expected: $exp" + echo " observed: $(grep -F "'$cert'" "$AUD" || echo '(missing)')" + FAIL=1 + else + echo " ✓ $cert [$want]" + fi +done +rm -f "$AUD" +[ "$FAIL" = 0 ] || exit 1 +echo "=== ALL GREEN ===" diff --git a/verification/gen/LTLAcc/HashExternal.lean b/verification/gen/LTLAcc/HashExternal.lean new file mode 100644 index 0000000..349c344 --- /dev/null +++ b/verification/gen/LTLAcc/HashExternal.lean @@ -0,0 +1,12 @@ +/- The single sanctioned axiom site of this corpus (mirrors the role of + gen/ in the *-ed25519-verified repos): SHA-256 as an opaque function. + No properties are assumed of it — in particular NOT collision + resistance. The soundness theorems downstream are constructive: they + EXHIBIT two distinct preimages with equal image. Believing such a + pair cannot be found is the reader's interpretation step, exactly as + documented in the paper (§6, Remark 1). -/ +namespace LTLAcc + +axiom sha256 : List UInt8 → List UInt8 + +end LTLAcc diff --git a/verification/gen/LTLAcc/HashExternal.olean b/verification/gen/LTLAcc/HashExternal.olean new file mode 100644 index 0000000000000000000000000000000000000000..73774450b67ca9ca158f063bf1374dc49d0ea91d GIT binary patch literal 3136 zcmaJ@Z%kWN6n`y$$^bV8OmQxxOq10GSqDPvaE=Wno%~7XShAQb@OXWc&hpx|#gvfD z#b{h&qI@tBvrUPHxMll5!c?;P0TRVU$wXrqA&X;KG~36;Y?duU?|JWc;IaZIf#1F7 z&+nXj@45Fi64q72ZhNt!%3a}pA*NL-D@#>C+o`&}-j13;Wx%VeoqA=p>d^uoUGsEQ zdjp=TogD#>rYTDDpRG?SN>09o#AZ{J`7F>fW@5hI2qiF7oQmBhd`)Qw&p>DX$d&7* zn@L$Bm`*}Zq%6zzO9nBzZ-*1(S;UVqkFX2Bc?bL$voUXKZQ4t#B9ZG;Y}Wc}vx~DY z7S%o^`&vBlF150{hP*5u7vg=uK1anD&utFgAUoA9{!C$v!jF`chu6c%eySB_{+H_= zM*P2it@rh^U&73j0e?p3Ypa7n0P)NqJ_W4Y@a4Xb-dXsMyr`aBxHGQ9ye(uT^q8TV z385oCr`_7WI^cuZ8<&gbj7D-HKJF7n?w7W%-XLhqx}u2h2R2;Fz51xU_(Sp$dF-Rm z3rEV)pgLFfgiDW?nLEf|tL>oDwNz?Uao z+u7HxWH@H9t~uBl_Z;2W!acFXm!WV!GKZ46bl>Sdx}`bC6$rgw(u>%%KJR+W&apCz zxK;b3NjzulEAQJdcpJtK9=}sRHAFtd^8}n3^Dz(TTKEms2X5sO73#Tu9Om@o0?+_#BZBe`RcvRKogv2)tzA4~K{)^`ar}u0_ zKD**reokA?e7)HL(Cr8GwUK`~!Ad1r%dO^MMz0JsFL}5_-TYXlairj_Mi&?-=9ImCK2_-9M0Bz6brw zzrShspk&?hdyoR3ThddV+=q;O59%Y`(NI{AQC=4L9J;{cyLW5Lh0bfm#>r<&|2lu_Z{idA?6;v8+@{o&9Er3x1siBW_2lGQ>*RB23-){$ zoh~-WzE(ZmtJLEHpAR_l!TPU%%bPz4zO;Sjy2x(6Ux*t3B5uBb20|D&SW_k5+uacf zH^lT~J-VUwnp#>H^G<;$x2)>hpI`0TM-IZ4RtNuHB0JTg — Lean's internal cap: elaboration aborts +# with a clean "maximum memory exceeded" +# error. First line of defense; graceful. +# B. systemd-run --user --scope +# -p MemoryMax / MemorySwapMax — kernel cgroup cap around the process: +# if Lean's own accounting misses (C-level +# allocations), the cgroup kills ONLY this +# lean, never the session, never the box. +# C. flock on /tmp/lean-guard.lock — machine-wide single-flight: at most ONE +# lean compile at a time, regardless of +# how many agents/scripts are active. +# +# Env knobs (defaults for this 14GB / 8-core ThinkPad): +# LEAN_TIMEOUT per-file wall clock seconds (default 400) +# LEAN_MEM_MB lean -M internal cap, MB (default 4096) +# LEAN_CGROUP_MB cgroup MemoryMax, MB (default LEAN_MEM_MB+1024) +# LEAN_MAX_CORES taskset core range (default 0-3) +# LEAN_MIN_FREE_MB preflight available-RAM floor (default 3072) +# LEAN_LOCK_WAIT max seconds to wait for the lock (default 7200) +# +# Usage: lean-guard [extra lean args...] +# The .olean output path is always computed as ${file%.lean}.olean. +# Requires: lean on PATH (caller sources the toolchain env; typically run +# inside `lake env` so LEAN_PATH is set — this wrapper does NOT clobber env). +# ──────────────────────────────────────────────────────────────────────────── +set -uo pipefail + +# No core dumps: hitting the memory cap makes lean (and uutils `timeout`) abort; +# those aborts are EXPECTED and their core dumps only trigger Ubuntu apport +# popups and fill /var/crash. ulimit applies to this shell and every child. +ulimit -c 0 2>/dev/null || true + +TIMEOUT_SEC=${LEAN_TIMEOUT:-400} +MEM_MB=${LEAN_MEM_MB:-4096} +CGROUP_MB=${LEAN_CGROUP_MB:-$((MEM_MB + 1024))} +CORES=${LEAN_MAX_CORES:-0-3} +MIN_FREE_MB=${LEAN_MIN_FREE_MB:-3072} +LOCK_WAIT=${LEAN_LOCK_WAIT:-7200} +LOCK_FILE=/tmp/lean-guard.lock +LOG_FILE="${HOME}/.lean-guard.log" + +if ! command -v lean &>/dev/null; then + echo "FATAL: lean not on PATH — source ~/aeneas-toolchain/env.sh (and run inside lake env)" + exit 1 +fi +if [ $# -eq 0 ]; then + echo "Usage: lean-guard [lean args...]" + exit 1 +fi + +LEAN_FILE="$1"; shift || true + +# ── Guard 1: source integrity (anti olean-clobber) ────────────────────────── +if [ ! -f "$LEAN_FILE" ]; then + echo "MISSING: $LEAN_FILE"; exit 1 +fi +if ! grep -qE '^[[:space:]]*(/-|import |namespace |theorem |def |open |set_option |--)' "$LEAN_FILE" 2>/dev/null; then + echo "FATAL: $LEAN_FILE is not Lean source (binary/olean data?)." + echo " Restore: git checkout HEAD -- $LEAN_FILE" + exit 1 +fi + +# ── Guard 2: output path ───────────────────────────────────────────────────── +case "$LEAN_FILE" in + *.lean) ;; + *) echo "FATAL: input lacks .lean extension"; exit 1 ;; +esac +OLEAN_FILE="${LEAN_FILE%.lean}.olean" +[ "$OLEAN_FILE" = "$LEAN_FILE" ] && { echo "FATAL: output would clobber source"; exit 1; } + +# ── Guard C: machine-wide single-flight ───────────────────────────────────── +exec 9>"$LOCK_FILE" +if ! flock -w "$LOCK_WAIT" 9; then + echo "FATAL: could not acquire lean-guard lock within ${LOCK_WAIT}s (another compile stuck?)" + exit 1 +fi + +# ── Guard 3: preflight headroom (after lock: serialized measurement) ──────── +AVAIL_MB=$(free -m | awk '/Mem:/{print $7}') +if [ "$AVAIL_MB" -lt "$MIN_FREE_MB" ]; then + echo "FATAL: only ${AVAIL_MB}MB available (< ${MIN_FREE_MB}MB floor) — refusing to compile" + exit 1 +fi + + +# ── Guard 3b: global-headroom clamp (2026-07-03 swap-pressure incident) ───── +# A cap is a PROMISE of memory to lean; never promise more than the machine +# can afford right now. Requested caps that exceed (available − floor) are +# clamped, so raising LEAN_MEM_MB can no longer starve the rest of the system +# into swap even when lean itself stays within its cap. Clamp, don't fail: +# most compiles peak far below their cap (measure before raising — the +# incident's 9G scopes served a file whose true peak was 753MB). +REQ_MEM_MB=$MEM_MB +WAS_CLAMPED=0 +MAX_AFFORD_MB=$(( AVAIL_MB - MIN_FREE_MB )) +if [ "$MEM_MB" -gt "$MAX_AFFORD_MB" ]; then + echo "lean-guard: clamping -M ${MEM_MB} -> ${MAX_AFFORD_MB}MB (avail=${AVAIL_MB}MB, floor=${MIN_FREE_MB}MB)" + MEM_MB=$MAX_AFFORD_MB + CGROUP_MB=$(( MEM_MB + 1024 )) + WAS_CLAMPED=1 +fi +if [ "$MEM_MB" -lt 1024 ]; then + echo "FATAL: headroom clamp would leave lean < 1024MB — machine too loaded to compile safely" + exit 1 +fi + +echo "[$(date -u +%F' '%T)] $LEAN_FILE (t=${TIMEOUT_SEC}s M=${MEM_MB}MB cg=${CGROUP_MB}MB cores=$CORES avail=${AVAIL_MB}MB)" >> "$LOG_FILE" + +# ── Compile under both caps ────────────────────────────────────────────────── +run_leancmd() { + taskset -c "$CORES" \ + timeout --signal=TERM --kill-after=15 "$TIMEOUT_SEC" \ + lean -M "$MEM_MB" -o "$OLEAN_FILE" "$LEAN_FILE" "$@" +} +do_compile() { + if systemd-run --user --scope -p MemoryMax=10M --quiet -- /bin/true 2>/dev/null; then + # --scope runs the command as a child of THIS shell (env inherited), + # merely placing it in a fresh cgroup with the hard caps below. + systemd-run --user --scope --quiet \ + -p MemoryMax="${CGROUP_MB}M" -p MemorySwapMax=256M \ + -- taskset -c "$CORES" \ + timeout --signal=TERM --kill-after=15 "$TIMEOUT_SEC" \ + lean -M "$MEM_MB" -o "$OLEAN_FILE" "$LEAN_FILE" "$@" + else + echo " (systemd-run unavailable — falling back to lean -M only)" >> "$LOG_FILE" + run_leancmd "$@" + fi +} +do_compile "$@" +EXIT_CODE=$? + +# ── Guard 3a: lazy wait-and-retry after a clamped memory abort (pass 3) ───── +# The clamp above protects the host, but under ambient memory pressure it +# can cut a KNOWN-NEEDED cap (ReduceSpec peaks ~6.5G) and guarantee an +# interpreter abort that reads like a proof regression. Lazy semantics keep +# light files free: only when a CLAMPED run dies on memory (134 abort / +# 137 cgroup kill) and LEAN_MEM_WAIT_SEC>0, wait — still under the +# single-flight lock — until the ORIGINAL request is affordable, then retry +# once at full cap. Default 0: behavior unchanged. +MEM_WAIT_SEC=${LEAN_MEM_WAIT_SEC:-0} +if [ "$WAS_CLAMPED" -eq 1 ] && [ "$MEM_WAIT_SEC" -gt 0 ]; then + WAITED=0 + # Retry ladder: whenever headroom improves MATERIALLY (>= +1536MB over + # the cap that just died, or reaches the full request), retry at the + # new clamp. The full request may never be affordable on a loaded host + # even though the true peak is — climbing the ladder finds the passing + # clamp without knowing the peak. Monotone caps + deadline => bounded. + while { [ "$EXIT_CODE" -eq 134 ] || [ "$EXIT_CODE" -eq 137 ]; } \ + && [ "$WAITED" -lt "$MEM_WAIT_SEC" ] && [ "$MEM_MB" -lt "$REQ_MEM_MB" ]; do + sleep 20; WAITED=$(( WAITED + 20 )) + AVAIL_MB=$(free -m | awk '/Mem:/{print $7}') + NEW_AFFORD=$(( AVAIL_MB - MIN_FREE_MB )) + if [ "$NEW_AFFORD" -ge "$REQ_MEM_MB" ] || [ "$NEW_AFFORD" -ge $(( MEM_MB + 1536 )) ]; then + MEM_MB=$(( NEW_AFFORD < REQ_MEM_MB ? NEW_AFFORD : REQ_MEM_MB )) + CGROUP_MB=$(( MEM_MB + 1024 )) + echo "lean-guard: clamped run died (rc=$EXIT_CODE); retrying at -M ${MEM_MB}MB after ${WAITED}s (avail=${AVAIL_MB}MB, request=${REQ_MEM_MB}MB)" + echo "[$(date -u +%F' '%T)] RETRY $LEAN_FILE (M=${MEM_MB}MB cg=${CGROUP_MB}MB avail=${AVAIL_MB}MB after ${WAITED}s)" >> "$LOG_FILE" + do_compile "$@" + EXIT_CODE=$? + fi + done + if [ "$EXIT_CODE" -eq 134 ] || [ "$EXIT_CODE" -eq 137 ]; then + echo "lean-guard: memory-death persists after ${WAITED}s of ladder retries (last -M ${MEM_MB}MB, request ${REQ_MEM_MB}MB) — keeping the failure" + fi +fi + +case $EXIT_CODE in + 0) echo " OK" >> "$LOG_FILE" ;; + 124) echo " TIMEOUT ${TIMEOUT_SEC}s" >> "$LOG_FILE" + echo "TIMEOUT: $LEAN_FILE exceeded ${TIMEOUT_SEC}s" ;; + 137) echo " KILLED (cgroup MemoryMax ${CGROUP_MB}MB hit)" >> "$LOG_FILE" + echo "KILLED: $LEAN_FILE hit the ${CGROUP_MB}MB cgroup cap (contained — machine unharmed)" ;; + *) echo " FAILED exit $EXIT_CODE (lean error, possibly '-M ${MEM_MB}MB exceeded')" >> "$LOG_FILE" ;; +esac +# stale partial olean from a failed compile must not poison later imports +[ $EXIT_CODE -ne 0 ] && rm -f "$OLEAN_FILE" +exit $EXIT_CODE