Land sweeps + first honest CI: compiler builds, proofs check, fail-closed gates - #34
Conversation
Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
…echeck - kitchenspeak.agda-lib: a bare '--' line is rejected by Agda 2.6.4.3's library parser, killing every proof check before it starts. - Idris2 ABI suite had never compiled: missing Data.Nat imports (public, since exported signatures mention LTE/NonZero/modNatNZ), Idris1-only lteRefl reproven locally, SIsNonZero misapplied to opaque Nats reformulated as erased NonZero premises, and erased-field projections (nonNull/inBounds) moved into 0-quantity proofs; So-proof-irrelevance discharged via a soUnique lemma. - kitchenspeak-abi-proofs.ipkg: package file so the suite is checked as a whole (per-file 'idris2 --check' exits 0 on missing names). Verified: idris2 --typecheck exit 0 on 0.7.0 (local) and 0.8.0 (digest-pinned pack image); agda exit 0 on all four proofs, EchoBridge under --safe. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…oot entries
META/ECOSYSTEM {{REPO}} tokens were failing the OpenSSF gate (a required
merge context). Root allowlist now covers the governance, licensing and
tooling files the C-A-G-M sweeps put at root, so Estate Rules matches
reality: check-root-shape.sh passes locally (49 entries, 51 permitted).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…Idris2) Until now no workflow built the compiler or checked a single proof: Rust CI passes by detecting no Cargo.toml and skipping all jobs, and 'just proof-check-*' exits 0 when provers are absent. Proof Gates is fail-closed: debian:trixie jobs build the compiler, require all examples/v2 positives to type-check and all negatives to be rejected, check the four Agda proofs (EchoBridge under --safe) against pinned echo-types/absolute-zero, and enforce the audited 6-postulate trusted base; a digest-pinned idris2-pack job typechecks the ABI suite and rejects believe_me/assert_total in proof code. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ Approved 3 resolved / 3 findingsAdds fail-closed CI proof gates alongside OCaml compiler builds and Idris2 ABI suite repairs. Consider tightening the alignment proof edge cases, hardening the escape-hatch grep gate, and cleaning up non-tool entries in mise.toml.
✅ 3 resolved✅ Edge Case: Alignment proofs are vacuous for zero-alignment fields
✅ Quality: escape-hatch grep gate is fragile for inline comments
✅ Quality: mise.toml lists many entries that are not mise tools
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Important Your trial ends in 7 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more. Was this helpful? React with 👍 / 👎 | Gitar |
✅ All code review findings resolved.
|



What this lands (squash-merge; branch history collapses)
Pre-existing unpushed sweeps (rebased, sitting local-only since July):
LICENSES/AGPL-3.0-or-later.txtfrom sweep3 is removed (repo policy bans AGPL in three places; same failure class as the phronesis incident). The squashed commit on main never carries it.Proof repairs — the Idris2 ABI suite had NEVER compiled:
kitchenspeak.agda-lib: bare--line rejected by Agda 2.6.4.3's parser, killing every check before it started.import public Data.Nat(exported signatures mentionLTE/NonZero/modNatNZ), Idris1-onlylteReflreproven,SIsNonZeromisapplied to opaqueNats reformulated as erased premises, erased-field projections moved into 0-quantity proofs with asoUniqueproof-irrelevance lemma.kitchenspeak-abi-proofs.ipkgso the suite checks as a whole (per-file--checkis the known fake-gate).Compliance:
{{REPO}}placeholders filled in META/ECOSYSTEM (unblocks the requiredopenssf-compliancecontext).check-root-shape.shpasses locally (49 entries / 51 permitted), so Estate Rules goes green.New workflow
proof-gates.yml— fail-closed by design:debian:trixiedune build; allexamples/v2positives must type-check; all 10 negatives must be rejecteddebian:trixie--safe) against SHA-pinned echo-types/absolute-zero; 6-postulate trusted-base budgetidris2-pack--typecheckthe ipkg; rejectbelieve_me/assert_totalin proof codeVerified locally before push
dune buildclean; 5/5 positive examples pass, 10/10 negatives rejected.🤖 Generated with Claude Code