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
Corrects the #147 proof-check gate (run from src/ with module-relative
paths; scope to the *.Proofs modules listed in proven.ipkg, not all 93
on-disk) and repairs the 5 "DISCHARGED" theorems it surfaced that never
type-checked on a clean idris2-0.8.0 + contrib toolchain:
- SafeUrl: appendAssociative -> sym (Data.List.appendAssociative ...);
addParamIncreasesCount -> lengthSnoc arg order. Both genuinely hold.
- SafeSQL: builderQueriesSafe, cannotEscapeStringLiteral,
combinePreservesSafety, addParamPreservesSafety reverted DISCHARGED ->
OWED (they consumed erased OWED premises -- "not accessible in context").
- SafeEmail: validResultIsValid reverted DISCHARGED -> OWED (Idris2 0.8.0
won't reduce a top-level constant's record projection cross-module).
All 29 ipkg proof modules now compile (proof-check green). No believe_me /
postulate / idris_crash introduced. STATE.a2ml discharged-decls 36 -> 31.
The remaining governance / Language / package anti-pattern policy failure
is pre-existing (hyperpolymath/standards) and out of scope.
"2026-05-31b" = "CI proof-gate (#147 → #148): added a fast `proof-check` job type-checking every *.Proofs module listed in proven.ipkg (29) from src/ with module-relative paths; fixed two self-inflicted gate bugs (repo-root path → spurious 'module name does not match file name'; over-broad glob over all 93 on-disk vs the 29 ipkg-built). The gate found 5 ipkg proof modules that never compiled (DISCHARGED-but-unbuilt, same disease as #127): SafeUrl appendAssociative (referenced nonexistent Data.List.Equalities.appendAssociative; fixed to sym (Data.List.appendAssociative)) + addParamIncreasesCount (lengthSnoc arg order) now genuinely hold; SafeSQL ×4 and SafeEmail ×1 reverted DISCHARGED→OWED (depended on erased OWED premises / top-level-constant opacity). All 29 now green on a clean idris2-0.8.0+contrib build. ADR-004."
69
77
"2026-05-31" = "SafeJson Phase 3: #144 DISCHARGES anyMatchesTAny (6-arm split) + singleKeyPath (with-pattern), completing #138. Root-caused a pre-existing breakage: appendLengthInc (from #127) used `lengthSnoc arr v` but contrib Data.List.Equalities.lengthSnoc is element-first — it failed to type-check and blocked the ENTIRE SafeJson.Proofs module (so main did not compile). Fixed to `lengthSnoc v arr`. Verified on a clean idris2-0.8.0+contrib install (full SafeJson cone, 0 errors). Filed #145: the Idris build is not a required status check, so #127's broken merge went green (created→merged in ~2.5min with build jobs still queued); recommends branch-protection gating + faster cone-check job."
0 commit comments