Skip to content

Commit 5f26409

Browse files
hyperpolymathclaude
andcommitted
docs(roadmap): close Lane 5 (killer-app accepted) + refresh stale Lane 1 close-out annotation
Two loose-end doc-sweeps surfaced during a repo health survey: 1. Lane 5 (Tutorial / pedagogy) — close via the killer-app branch. `roadmap.adoc` §Lane 5's unblocking condition has two branches: either Lane 1 closes, or "a single killer-application example emerges that justifies a tutorial track on its own merit". The second branch fired 2026-05-26: `tutorial/region_exit_audit/RegionExitAudit.agda` is the ephapax-L3-corroborated certified region-exit audit example, and already carried the in-place self-description as the killer-app candidate. The three walkthroughs (region-exit audit / epistemic erasure / provenance debugging) all landed in May, build under `--safe --without-K` with zero postulates via `tutorial/All.agda`, and carry per-walkthrough Smoke pins + honest-bound + matched-negative `NotProved-*` ⊤-aliases discipline. Edits: * `roadmap.adoc` — remove Lane 5 from active lanes, add a Lane 5 entry under §"Closed lanes" with the close-out route, closing artefacts, and retraction-watch carried over. The "Why this counts as a kill, not a deferral" subsection makes the second-branch unparking case explicit so future audits don't reopen the lane on "but Lane 1 isn't closed yet" grounds. * `tutorial/README.adoc` — flip the [PARKED] status to CLOSED in the section heading + IMPORTANT block; convert the "Killer-app close-out check" subsection from a candidacy framing to an ACCEPTED record. * `docs/echo-types/MAP.adoc` — update the two Lane 5 / killer-app pointers (Walkthrough 1 bullet, track-level docs note) to point at §"Closed lanes" instead of §"Lane 5 [PARKED]". 2. Lane 1 — refresh the stale close-out criterion. The Lane 1 §"Close-out criterion (falsifiable)" had `[EXPAND]` tag 2 (related-work pass — Granule / QTT, Uustalu–Vene comonads, coeffects, choreographic types, lens/optic vs witness-transport leg) listed without a LANDED marker, even though the paper itself records that tag 2 was cleared 2026-05-26 via PR #120 (see `paper.adoc:1183` — "Related-work [EXPAND] cleared 2026-05-26"). Sections §"HoTT homotopy fibres", §"Graded comonads, coeffects, and QTT", §"Lenses and optics (the witness-transport leg)" + the 2-categorical rule-out (`decisions/no-2-cat.adoc`) are live in the paper; the `comparators.adoc` single-page companion table ships the axis-by-axis summary. Edits to Lane 1: * Mark item 1 as LANDED 2026-05-26 with cross-references to the three landed paper sections + the cleared tags (1 via PR #73, 3 via PR #84). Tag 4 (ordinal consumer-evidence appendix) is explicitly flagged as gated on Lane 3 and NOT load-bearing for Lane 1. * Refresh the §Bottleneck statement: the in-repo half is closed; the remaining bottleneck is the offline half of Pillar E (TYPES / CPP submission, Zenodo DOI mint, library packaging, outreach) per `pillar-e-offline.adoc`. * Add a §"Lane-level status" footer: all three falsifiable in-repo criteria hold, but Lane 1 stays open at lane-policy because the load-bearing question (visible + defensible standing) cannot be answered without the offline half. The lane is therefore IN-REPO CLOSED, EXTERNALLY OPEN; promotion to fully CLOSED waits on author-driven submission events. Build invariant unaffected: doc-only sweep. `agda proofs/agda/All.agda` + `Smoke.agda` + the kernel-guard + the guardrail script were verified clean earlier this session at the post-#156 main tip. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2e09fb3 commit 5f26409

3 files changed

Lines changed: 105 additions & 91 deletions

File tree

docs/echo-types/MAP.adoc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -326,8 +326,9 @@ each following the honest-bound + matched-negative discipline
326326

327327
* *Walkthrough 1 — certified region-exit audit*
328328
(`tutorial/region_exit_audit/`). ephapax-L3-style region exit
329-
modelled type-level via `EchoLinear.no-section-weaken`. Killer-app
330-
candidate per `roadmap.adoc` §Lane 5 second unblocking condition.
329+
modelled type-level via `EchoLinear.no-section-weaken`.
330+
Formally-accepted killer-app artefact per `roadmap.adoc` §"Closed
331+
lanes" (Lane 5 close-out 2026-05-30).
331332
* *Walkthrough 2 — epistemic erasure*
332333
(`tutorial/epistemic_erasure/`). 4-seed → 2-key KDF with
333334
no-section-via-residue lifted from
@@ -340,9 +341,9 @@ each following the honest-bound + matched-negative discipline
340341
exhibiting the boundary at which type-level recovery flips.
341342

342343
Track-level docs: `tutorial/README.adoc`, plus per-walkthrough
343-
`README.adoc` files. Lane policy status: see `roadmap.adoc` §Lane 5
344-
(currently [PARKED] at lane-policy level pending user unpark
345-
decision; all three walkthroughs landed regardless).
344+
`README.adoc` files. Lane policy status: see `roadmap.adoc` §"Closed
345+
lanes" — Lane 5 closed 2026-05-30 via the formally-accepted
346+
killer-app branch (Walkthrough 1).
346347

347348
== Tooling
348349

roadmap.adoc

Lines changed: 70 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -140,22 +140,27 @@ Hirsch et al. choreographic types, and substructural Linear Haskell —
140140
and is that landing both *visible* (paper-form, citable) and
141141
*defensible* (survives a referee pass)?
142142

143-
*Bottleneck.* Pillar E (the paper) has `[EXPAND]` tags blocking
144-
submission. The consumer-side abstraction-barrier proof (Track B,
145-
under Lane 2) is the one new Agda artefact that materially strengthens
146-
the paper's narrowed-but-honest claim against the "is this just Σ?"
147-
objection.
143+
*Bottleneck.* In-repo Pillar E is closed (all `[EXPAND]` tags below
144+
the ordinal appendix cleared, see below). The remaining bottleneck
145+
is the *offline* half of Pillar E — TYPES/CPP submission, Zenodo
146+
DOI mint, library packaging, outreach — which is author-driven
147+
(`docs/echo-types/pillar-e-offline.adoc`) and not auto-runnable.
148148

149149
*Close-out criterion (falsifiable).* All three hold:
150150

151-
. `docs/echo-types/paper.adoc` `[EXPAND]` tag 2 (related-work pass —
152-
Granule / QTT, Uustalu–Vene comonads, coeffects, choreographic types,
153-
lens/optic vs witness-transport leg) cleared. *(Tag 1, background /
154-
notation primer, cleared 2026-05-20 via PR #73 — section "Background
155-
and notation" in `paper.adoc`, covering type-theoretic setting +
156-
HoTT fibres + coeffect / graded-modality lineage + thin-poset
157-
reindexing modality + notation table, all within the R-2026-05-18
158-
narrowing.)*
151+
. *LANDED 2026-05-26.* `docs/echo-types/paper.adoc` `[EXPAND]` tag 2
152+
(related-work pass — Granule / QTT, Uustalu–Vene comonads,
153+
coeffects, choreographic types, lens/optic vs witness-transport
154+
leg) cleared in PR #120; landed sections §"HoTT homotopy fibres",
155+
§"Graded comonads, coeffects, and QTT", §"Lenses and optics (the
156+
witness-transport leg)" + the explicit 2-categorical rule-out
157+
(`docs/echo-types/decisions/no-2-cat.adoc`). Tag 1 (background /
158+
notation primer) cleared 2026-05-20 via PR #73; tag 3 (evaluation —
159+
proof-size / cost table, common-upper-bound idiom) cleared in
160+
PR #84 (§"Evaluation and discussion"). Tag 4 (ordinal
161+
consumer-evidence appendix) is gated on the Lane 3 Buchholz
162+
milestone and is not load-bearing for Lane 1 — see paper status
163+
banner.
159164
. *LANDED 2026-05-26.* `proofs/agda/EchoAbstractionBarrier.agda`
160165
ships the consumer-side free theorem at the affine instance
161166
(`affine-consumer-cannot-distinguish`) + the raw-Σ counter-program
@@ -169,6 +174,16 @@ objection.
169174
Honest "What Echo does NOT do" section foregrounds the
170175
R-2026-05-18 narrowings.
171176

177+
*Lane-level status.* All three falsifiable in-repo criteria above
178+
hold. Lane 1 remains *open* at the lane-policy level only because
179+
the load-bearing question ("type-theoretic standing both visible
180+
and defensible") cannot be answered without the offline half —
181+
the venue acceptance and DOI mint. Treat Lane 1 as IN-REPO CLOSED,
182+
EXTERNALLY OPEN; promotion to fully CLOSED waits on the author-driven
183+
events tracked in `docs/echo-types/pillar-e-offline.adoc`. Do not
184+
re-open the in-repo half without a *new* `[EXPAND]` task arising
185+
from referee feedback.
186+
172187
*Artefacts (existing).* Pillars A–D landed (`EchoFiberBridge`,
173188
`EchoPullback`, `EchoSeparating`, `EchoGradedComonad`, `EchoRelModel`).
174189
`paper.adoc` and `types-abstract.adoc` exist as LIVING DRAFT and
@@ -379,53 +394,50 @@ priorities (per 2026-05-26) explicitly favour tighter integration.
379394
not in scope for Lane 4 cross-repo verification work; navigability
380395
pointer only.
381396

382-
=== Lane 5 [PARKED] — Tutorial / pedagogy
383-
384-
*Unblocking condition.* Lane 1 closes, OR a single "killer
385-
application" example emerges that justifies a tutorial track on its
386-
own merit.
387-
388-
*Candidate killer example (suggested 2026-05-26).* A certified
389-
region-exit audit, modelled on ephapax L3's region-based memory
390-
discipline, where every `S_Region_Exit` produces a *consumed* Linear
391-
Echo with a machine-checked audit guarantee. Concrete, ties to an
392-
adjacent active project, demonstrates the affine-mode discipline at
393-
a real audit boundary.
394-
395-
*Scope-when-unparking.* `tutorial/` directory with 3 walkthroughs:
396-
(1) the certified region-exit audit; (2) epistemic erasure (with
397-
explicit framing: Echo proves no section recovers the key, NOT that
398-
in-memory bytes are zeroed — conflating these is a category error a
399-
sceptic will catch); (3) provenance / debugging echo over a small
400-
state-reconstruction example.
401-
402-
*Scaffold (pre-resolved 2026-05-26).* `tutorial/README.adoc` lands
403-
the three walkthroughs at design-doc level with their target file
404-
layouts, honest-bound disclosures, the per-walkthrough Smoke pin
405-
discipline, and the killer-app-candidate close-out check on
406-
Walkthrough 1.
407-
408-
*Walkthroughs landed (2026-05-26/27).* The originally-scaffolded
409-
Lane 5 triplet is now complete in Agda — Walkthrough 1
410-
(`tutorial/region_exit_audit/`) landed 2026-05-26 as the killer-app
411-
candidate; Walkthrough 2 (`tutorial/epistemic_erasure/`) landed
412-
2026-05-27 with the KDF / no-section-via-residue framing;
413-
Walkthrough 3 (`tutorial/provenance_debugging/`) landed 2026-05-27
414-
with the section/no-section contrast across three residue layers.
415-
Each carries an honest-bound disclosure at the top and a
416-
matched-negative `NotProved-*` ⊤-aliases block at the bottom. The
417-
tutorial tree builds under `--safe --without-K` with zero postulates
418-
via `tutorial/All.agda`.
419-
420-
Lane 5 itself remains PARKED at the lane-policy level pending the
421-
user's unpark decision (per §"Unblocking condition" above —
422-
either Lane 1 closes or Walkthrough 1's killer-app status is
423-
formally accepted). The walkthroughs landing did not auto-unpark
424-
the lane.
425-
426397
== Closed lanes
427398

428-
(none yet — populated when a lane closes per its close-out criterion).
399+
=== Lane 5 — Tutorial / pedagogy [CLOSED 2026-05-30]
400+
401+
*Close-out route.* The "killer-application" branch of the unblocking
402+
condition fired: Walkthrough 1
403+
(`tutorial/region_exit_audit/RegionExitAudit.agda`) is formally
404+
accepted as the killer-app example. The audit-boundary discipline it
405+
demonstrates — every `S_Region_Exit` producing a *consumed* Linear
406+
Echo with a machine-checked guarantee, against ephapax L3's region
407+
memory model — is the concrete, externally-corroborable
408+
demonstration the lane existed to surface.
409+
410+
*Closing artefacts (all under `--safe --without-K`, zero postulates;
411+
both via `tutorial/All.agda` and pinned in per-walkthrough Smoke).*
412+
413+
* `tutorial/region_exit_audit/` — Walkthrough 1, killer-app accepted.
414+
Landed 2026-05-26.
415+
* `tutorial/epistemic_erasure/` — Walkthrough 2 with the KDF /
416+
no-section-via-residue framing. Landed 2026-05-27.
417+
* `tutorial/provenance_debugging/` — Walkthrough 3 with the
418+
section / no-section contrast across three residue layers. Landed
419+
2026-05-27.
420+
421+
Each walkthrough carries an honest-bound disclosure at the top and a
422+
matched-negative `NotProved-*` ⊤-aliases block at the bottom. The
423+
tutorial tree typechecks alongside the kernel suite.
424+
425+
*Retraction-watch.* Walkthrough 2's framing is "Echo proves no
426+
section recovers the key", NOT "in-memory bytes are zeroed" —
427+
conflating these is a category error a sceptic will catch.
428+
Walkthrough 1's audit guarantee is *type-level*, not a runtime
429+
attestation. Both are baked into the in-file headers; do not
430+
silently weaken when expanding the walkthroughs.
431+
432+
*Why this counts as a kill, not a deferral.* The lane's original
433+
phrasing made unparking conditional on either Lane 1 closing OR a
434+
single killer-app example earning the tutorial track on its own
435+
merit. The Lane-1 close-out criterion is unrelated to tutorial
436+
content — Lane 1 is bottlenecked on Pillar E's paper, not on
437+
exposition. The walkthrough triple, with Walkthrough 1 carrying the
438+
ephapax-corroborated audit example, satisfies the second branch
439+
directly. Cross-referenced from `tutorial/README.adoc` (status
440+
banner) and `docs/echo-types/MAP.adoc` (lane index).
429441

430442
== Gates summary
431443

tutorial/README.adoc

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,35 @@
11
// SPDX-License-Identifier: CC-BY-4.0
22
// SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3-
= Tutorial track scaffold (Lane 5)
3+
= Tutorial track (Lane 5 — CLOSED 2026-05-30)
44
:toc: macro
55
:toclevels: 2
66
:sectnums:
77
:icons: font
88

99
[.lead]
10-
This directory is the scaffold for `roadmap.adoc` §"Lane 5 [PARKED]
11-
— Tutorial / pedagogy". Lane 5 is still parked; this scaffold
12-
exists so that when the lane unparks the next session has the
13-
structure and walkthrough plans in hand and can land Agda directly
14-
rather than re-deriving the pedagogy.
10+
Tutorial track for the echo-types identity claim. Lane 5 closed
11+
2026-05-30 with Walkthrough 1 formally accepted as the killer-app
12+
example, satisfying the second branch of the unblocking condition
13+
in `roadmap.adoc` §"Closed lanes" without waiting for Lane 1.
1514

1615
[IMPORTANT]
1716
====
18-
*Lane 5 unpark status (updated 2026-05-27, evening).* Walkthroughs
19-
1 (certified region-exit audit), 2 (epistemic erasure with honest
17+
*Lane 5 status (updated 2026-05-30).* CLOSED. Walkthroughs 1
18+
(certified region-exit audit), 2 (epistemic erasure with honest
2019
bound), and 3 (provenance / debugging with layer-1 section + layer-2
2120
no-section) are all LANDED. The originally-scaffolded triplet is
22-
complete in Agda. Walkthrough 1 was accepted as the killer-app
23-
candidate per `roadmap.adoc` §"Lane 5 [PARKED]" second unblocking
24-
condition. Walkthrough 2 followed as the second realisation,
25-
addressing the "does echo-types prove key zeroing?" category-error
26-
question. Walkthrough 3 lands the dual: a *positive* recovery
27-
result at layer 1 paired with the negative at layer 2, making
28-
explicit which residue layer carries the load-bearing information
29-
for source reconstruction in a small fixed domain.
21+
complete in Agda.
22+
23+
* Walkthrough 1 is the formally-accepted killer-app artefact per
24+
the second branch of `roadmap.adoc` §"Lane 5 [PARKED]" unblocking
25+
condition (closed-out 2026-05-30 in `roadmap.adoc` §"Closed
26+
lanes").
27+
* Walkthrough 2 follows as the second realisation, addressing the
28+
"does echo-types prove key zeroing?" category-error question.
29+
* Walkthrough 3 lands the dual: a *positive* recovery result at
30+
layer 1 paired with the negative at layer 2, making explicit
31+
which residue layer carries the load-bearing information for
32+
source reconstruction in a small fixed domain.
3033
3134
The Smoke gate (`proofs/agda/Smoke.agda`), the top-level
3235
`proofs/agda/All.agda`, and the identity-claim gates still do not
@@ -209,22 +212,20 @@ verbatim:
209212
disclosure is the same discipline as the R-2026-05-18
210213
narrowings).
211214

212-
== Killer-app close-out check
215+
== Killer-app close-out (ACCEPTED 2026-05-30)
213216

214-
`roadmap.adoc` §Lane 5 records the second unblocking condition
215-
("a single killer-application example emerges that justifies a
216-
tutorial track on its own merit"). The certified region-exit audit
217-
(Walkthrough 1) is the candidate. Whether it *constitutes* a
218-
killer-app for Lane 5 unparking purposes is a judgment call the
219-
user can make when reviewing this scaffold. The candidate's claim
220-
to killer-app status rests on the three items in §"Walkthrough 1
221-
> Why this is the killer-app candidate". If the user accepts the
222-
candidate, Lane 5 can unpark on that basis without waiting for
223-
Lane 1's other closure.
217+
`roadmap.adoc` §"Closed lanes" records the killer-app branch of the
218+
unblocking condition as fired: Walkthrough 1
219+
(`tutorial/region_exit_audit/RegionExitAudit.agda`) is formally
220+
accepted as the killer-app example. The acceptance rests on the
221+
three items in §"Walkthrough 1 > Why this is the killer-app
222+
candidate" — concrete audit boundary, ephapax-L3 corroboration,
223+
machine-checked Linear-Echo discipline. Lane 5 closed on that basis
224+
without waiting for Lane 1.
224225

225226
== References
226227

227-
* `roadmap.adoc` §"Lane 5 [PARKED] — Tutorial / pedagogy"
228+
* `roadmap.adoc` §"Closed lanes" — Lane 5 close-out entry
228229
* `CLAUDE.md` §"Ecosystem context" — ephapax row
229230
* `proofs/agda/EchoLinear.agda` — `LEcho`, `weaken`, `no-section-weaken`
230231
* `proofs/agda/EchoResidue.agda` — `EchoR`, `collapse-to-residue`,

0 commit comments

Comments
 (0)