Skip to content

Commit 746fdf6

Browse files
proof(kitchenspeak): machine-check Echo bridge; fix PoachedEgg drift (#71)
## What Makes KitchenSpeak's echo-types integration **real** (previously hand-verified only) and fixes a proof that didn't compile on the pinned toolchain. - `EchoBridge.agda` — now **machine-checks against the real echo-types `Echo`** (registered library). The stale NOTE ("Agda is not installed … verified by careful reading") is retired; the `@` sensor witness ⇔ `Echo (fired …) true` bridge is confirmed by the type checker. Repro command documented inline (explicit `-i` form for the 2.6.3 CI toolchain, since `kitchenspeak.agda-lib`'s `--` comments need Agda ≥ 2.6.4). - `PoachedEgg.agda` — fix stdlib v2.3 API drift: `toWitness {Q = …}` → `{a? = …}`. The KitchenSpeak suite (Dough + PoachedEgg + EchoBridge) now type-checks end-to-end. ## Verification Dough + PoachedEgg + EchoBridge: **3/3 pass** on Agda 2.6.3 + stdlib v2.3 + echo-types. 🤖 Draft opened by Claude Code. https://claude.ai/code/session_01DQACj3RFmAPZaBPgR9SAaS --- _Generated by [Claude Code](https://claude.ai/code/session_01DQACj3RFmAPZaBPgR9SAaS)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent f758d05 commit 746fdf6

2 files changed

Lines changed: 17 additions & 10 deletions

File tree

kitchenspeak/proofs/agda/EchoBridge.agda

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,22 @@
4444
-- function; the Echo is its structured-loss witness.
4545
--
4646
-- ---------------------------------------------------------------------
47-
-- NOTE (hand-verified, not machine-checked here). Agda is not installed
48-
-- in the authoring environment, and echo-types (plus its own
49-
-- `depend: absolute-zero`) is not registered here, so the cross-library
50-
-- import below is verified by careful reading against the echo-types
51-
-- source (module `Echo`, definition quoted above, confirmed verbatim).
52-
-- When echo-types + absolute-zero + agda-stdlib 2.3+ are registered,
53-
-- `make -C proofs echobridge` should be the first check. The flag stance
54-
-- (this module is left at Agda's default discipline, importing the
55-
-- `--safe --without-K` `Echo`) is also to be confirmed there.
47+
-- STATUS: MACHINE-CHECKED (2026-06-12). This module now typechecks against
48+
-- the real echo-types library (module `Echo`), with echo-types +
49+
-- absolute-zero + agda-stdlib v2.3 registered, under Agda 2.6.3. The
50+
-- earlier "hand-verified by careful reading" caveat is retired: the
51+
-- `Echo` import and the witness⇔echo bridge below are confirmed by the
52+
-- type checker, not by eye. The flag stance (this module is left at
53+
-- Agda's default discipline, importing the `--safe --without-K` `Echo`)
54+
-- is confirmed: a default-discipline module may import the `--safe
55+
-- --without-K` `Echo`.
56+
--
57+
-- Reproduce (matching echo-types' own CI toolchain, Agda 2.6.3):
58+
-- LC_ALL=C.UTF-8 agda --no-libraries \
59+
-- -i . -i <echo-types>/proofs/agda -i <agda-stdlib>/src EchoBridge.agda
60+
-- (The `make echobridge` target uses kitchenspeak.agda-lib, whose `--`
61+
-- comments require Agda ≥ 2.6.4; on the 2.6.3 CI toolchain use the
62+
-- explicit `-i` form above. See proofs/README.adoc.)
5663
-- ---------------------------------------------------------------------
5764

5865
module EchoBridge where

kitchenspeak/proofs/agda/PoachedEgg.agda

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ poach-budget = 4
122122
-- configuration fact about the chosen setpoint, computed by the
123123
-- decision procedure rather than postulated.
124124
cap<boil : target-cap < boil-envelope
125-
cap<boil = toWitness {Q = target-cap <? boil-envelope} _
125+
cap<boil = toWitness {a? = target-cap <? boil-envelope} _
126126

127127

128128
-- =====================================================================

0 commit comments

Comments
 (0)