Skip to content

Commit a9d3927

Browse files
ci(agda): install absolute-zero + fix ModeGrade typo so the suite typechecks (#31)
## Summary Fixes two latent CI breakages so Agda goes green again. ### 1. Install absolute-zero library (`agda.yml`) `echo-types.agda-lib` declares `depend: standard-library absolute-zero`, but the workflow only registered `standard-library`. Agda CI has been red on `main` since `3f654ef` (2026-04-30) added the dep without a workflow update. Adds a fetch step that shallow-clones `hyperpolymath/absolute-zero`, then registers it alongside `standard-library` in `~/.agda/libraries`. ### 2. Fix `ModeGrade` -> `ModeGraded` import typo (`characteristic/RecipeNonTriviality.agda`) `RecipeNonTriviality.agda` imports `characteristic.ModeGrade` (no `d`) which doesn't exist; the actual file is `characteristic.ModeGraded`. Renames cleanly: `MGEcho` -> `ModeGEcho`, `applyGrade` -> `applyGradeM`. The body uses (`modegrade-cell-action` and friends) reduce definitionally as before because `applyMode/applyGrade` at `(linear, keep)` are identity in the existing `ModeGraded.agda`. This bug was latent since the characteristic lane was added in #27 (2026-04-29), masked by the absolute-zero env break that (1) fixes. ## Local verification ``` agda -i proofs/agda proofs/agda/All.agda # exit 0 agda -i proofs/agda proofs/agda/Smoke.agda # exit 0 agda -i proofs/agda proofs/agda/characteristic/All.agda # exit 0 agda -i proofs/agda proofs/agda/examples/All.agda # exit 0 ``` All under `--safe --without-K`. No postulates introduced. ## Effect on other PRs After merge, #28, #29, #30 should re-run with the env in place. They may need rebases onto the new `main`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
1 parent c72f45a commit a9d3927

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

.github/workflows/agda.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,14 @@ jobs:
3030
git clone --depth 1 --branch v2.3 https://github.com/agda/agda-stdlib.git "$STDLIB_DIR"
3131
echo "stdlib_dir=$STDLIB_DIR" >> "$GITHUB_OUTPUT"
3232
33-
- name: Register standard library for Agda
33+
- name: Fetch absolute-zero library
34+
id: absz
35+
run: |
36+
ABSZ_DIR="$RUNNER_TEMP/absolute-zero"
37+
git clone --depth 1 https://github.com/hyperpolymath/absolute-zero.git "$ABSZ_DIR"
38+
echo "absz_dir=$ABSZ_DIR" >> "$GITHUB_OUTPUT"
39+
40+
- name: Register libraries for Agda
3441
run: |
3542
mkdir -p "$HOME/.agda"
3643
@@ -40,7 +47,13 @@ jobs:
4047
include: ${{ steps.stdlib.outputs.stdlib_dir }}/src
4148
EOF
4249
43-
printf '%s\n' "$STDLIB_LIB" > "$HOME/.agda/libraries"
50+
ABSZ_LIB="$RUNNER_TEMP/absolute-zero.agda-lib"
51+
cat > "$ABSZ_LIB" <<EOF
52+
name: absolute-zero
53+
include: ${{ steps.absz.outputs.absz_dir }}/proofs/agda
54+
EOF
55+
56+
printf '%s\n%s\n' "$STDLIB_LIB" "$ABSZ_LIB" > "$HOME/.agda/libraries"
4457
printf '%s\n' "standard-library" > "$HOME/.agda/defaults"
4558
4659
- name: Typecheck full suite

proofs/agda/characteristic/RecipeNonTriviality.agda

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,12 +141,12 @@ open import characteristic.RoleMode using
141141
( applyRole to applyRoleM
142142
; applyMode to applyModeRM
143143
)
144-
open import characteristic.ModeGrade using
145-
( ModeGEcho
146-
; applyMode
144+
open import characteristic.ModeGraded using
145+
( applyMode
147146
)
148147
renaming
149-
( applyGrade to applyGradeM
148+
( MGEcho to ModeGEcho
149+
; applyGrade to applyGradeM
150150
)
151151

152152
------------------------------------------------------------------------

0 commit comments

Comments
 (0)