Repository navigation
fix(ci): panel-clades-abi pins Idris2 by commit, drops the checkout token, shows the log tail - #146
Conversation
…rnel
PanelClades.ABI.Grades grades a clade's resource contract in typed-wasm's
Idris2 grade kernel (TypedWasm.ABI.ResourceAlgebra, transcribed from
hyperpolymath/resource-algebra), imported at a pin, not re-declared:
- panel state by OCCUPANCY (HWM): StateWithin, and phasesWithin, the
reclamation law at the panel (a second phase fits in what the first
left);
- the Panel-N -> Panel-W crossing by LOSS: LossWithin (total collapse is
never within tolerance), crossTwice (losses add, lossSeq), betterOfTwo
(the less lossy translation, lossAlt);
- CladeResourceContract, its {grade, algebra} pairs (TaggedGrade), and the
neurosym-bridge contract: state peak 48 / drift 16 within 64, crossing
loss 2 within 3. DESIGNED: declared values for the owner to confirm,
not measurements;
- the computed separation at the panel: two phases occupy 64 but cost 96.
panel-clades/scripts/fetch-siblings.sh pins typed-wasm at main 9403258
(the kernel's landing, typed-wasm#271). panel-clades/scripts/check-abi.sh
builds the kernel there, builds panel-clades-grades.ipkg against it (exit 0
and no Error line), and requires tests/reject/{OverBudget,
CollapseWithinTolerance}.idr to be refused at their invalid declarations
for the intended reason. It runs as job panel-clades-abi in
build-validation.yml (Idris2 0.8.0 built from its tag; no binaries exist).
schema/typell-grade.schema.json is the {grade, algebra} wire payload for
TypeLL (DESIGNED: the Panel-L JSON-RPC wiring is not built).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y6FD63UrriRBHqmhhEca9t
The ABI README said "Verified by: Idris2 0.8.0 type checker" with every proof CLOSED. Checked today: Types.idr / Layout.idr / Foreign.idr do not typecheck. Their module names (PanelClades.ABI.*) do not match their paths, so Idris2 refuses them outright, and laid out at matching paths Types.idr still has 11 errors (ElabReflection not enabled, DecEq without Decidable.Equality, unprovable So auto-proofs, Bits used as a type, pattern matching on types, an auto-bound cladeKindCount). The README now says which module does typecheck (Grades.idr, via scripts/check-abi.sh) and lists those errors; fixing them is left to the owner, as some need redesign. Also: SPDX header on that README, a pointer from the TypeLL clade README to the grade schema, and a CHANGELOG entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y6FD63UrriRBHqmhhEca9t
…xLub typed-wasm #273 and #274 have merged, so the pin moves from 9403258 (the kernel's landing, #271) to main 117bbf8. #273 added maxLub to the kernel's Nat lemmas, so Grades.idr's local copy (maxLeast) goes and phasesWithin uses the kernel's. check-abi.sh passes at the new pin (1 module, 0 errors, 2 rejections). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y6FD63UrriRBHqmhhEca9t
…ild directly shellcheck SC2164 and SC2181, the likely source of CodeFactor's one finding on #145. The script runs without `set -e` (it collects failures), so a failed cd would have carried on in the wrong directory. The kernel-build test now checks the subshell's status directly. Both failure branches still fail the gate (checked with an idris2 shim that refuses the build, and one that prints Error: but exits 0). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y6FD63UrriRBHqmhhEca9t
…tail CodeRabbit on #145: - build-validation.yml fetched Idris2 by its v0.8.0 tag, which can move (CWE-494). It now fetches 15a3e4e70843f7a34100f6470c04b791330788df, the commit that tag names, checks HEAD against it, and tags it v0.8.0 locally so the Makefile still reports 0.8.0 (without a tag it appends the short SHA). - The panel-clades-abi checkout sets persist-credentials: false; the job needs no token after checkout (the sibling fetch is anonymous https). - check-abi.sh printed nothing when idris2 failed without an `Error` line (an INTERNAL ERROR, say). Both build branches now fall back to the log tail; checked with an idris2 shim that fails with no Error line. shellcheck clean; check-abi.sh passes (1 module, 0 errors, 2 rejections). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y6FD63UrriRBHqmhhEca9t
# Conflicts: # .github/workflows/build-validation.yml # panel-clades/scripts/check-abi.sh
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 46 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
|
These red checks are not this PR's. Each one is red on
This PR's own check is Build Validation / panel-clades-abi, which builds Idris2 from the pinned commit. It is still running. Generated by Claude Code |



Summary
This carries CodeRabbit's three review findings on #145. #145 was merged at
a188675, a minute before the fix commit (42dbbbe) was pushed, so the fixes never reachedmain. The three review threads on #145 say "fixed in 42dbbbe"; this PR is where that commit lands.Changes
build-validation.yml/panel-clades-abi:15a3e4e70843f7a34100f6470c04b791330788df(the commitv0.8.0names) and checksHEADagainst it. Then it tags that commitv0.8.0locally: without a tag, Idris2's Makefile reports the version as0.8.0-<sha>.persist-credentials: false. Nothing in the job needs the token after checkout, because the sibling fetch is anonymous https.panel-clades/scripts/check-abi.sh: both build branches (kernel and grades) print the log tail whenidris2fails without anErrorline, for example on an INTERNAL ERROR. Before, they printed nothing.The branch merges
main(#145's squash) instead of being force-pushed, so the diff againstmainis only these two files.Testing
GIT_SHA1is15a3e4e70before the local tag and empty after it.check-abi.sh.bash panel-clades/scripts/check-abi.sh→OK: panel-clades grades ABI — builds against the kernel, 2 rejection(s).FAIL: panel-clades-grades.ipkg (exit 1).The other red checks are the same pre-existing ones listed on #145, all red on
maintoo:validate(nodeno.json), Rust CI (gossamer-rspath dependency), the Governance lockfile and workflow linter, K9 contracts, and the estate-audit hygiene gate. CodeRabbit's docstring-coverage warning counts the four one-line bash helpers (pass,err,die,fetch); I've left it as is.🤖 Generated with Claude Code
https://claude.ai/code/session_01Y6FD63UrriRBHqmhhEca9t
Generated by Claude Code