You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: Pillar E in-repo close-out + Gate 2 Rev 5 + Lane 4/5 scope/scaffold (#121)
## Summary
In-repo close-out work across all four currently-open lanes per
`roadmap.adoc`. Stacked on PR #118 (consolidation); merges into that
branch and will land on `main` together when #118 squashes.
- **Lane 1 (Pillar E in-repo).** Status NOTE in `paper.adoc` +
`types-abstract.adoc` declaring tags 1/2/3 cleared; tag 4 (ordinal
appendix) is gated on Bachmann–Howard per `roadmap.adoc` §Lane 3 — not a
missing deliverable for the in-repo half of Pillar E. Honest about the
offline boundary (venue choice, Zenodo DOI, library packaging,
outreach).
- **Lane 2 (Gate 2 re-audit).** `docs/characteristic.adoc` Revision 5:
re-checks 4/4 surviving against everything post-Rev-4 (EI-2 termination
via PATH B, `characteristic.NonTruncatable` Q2.1 PARTIALLY REDUCIBLE
caveat, deliberately-broken `characteristic.N5Falsifier`). Comfortable
threshold (≥3/4) met by margin of one. Candidate N5 remains unadopted on
the same logic as Rev 4. Closes the Lane 2 close-out criterion (3).
- **Lane 4 [PARKED] (bridges-CI scope).**
`docs/echo-types/decisions/lane-4-bridges-ci-scope.adoc` adopts option A
(separate `echo-bridges-ci` repo with submodules) over option B (in-tree
submodules). Three load-bearing reasons; three override triggers;
unpark-time playbook. Lane stays PARKED.
- **Lane 5 [PARKED] (tutorial track).** `tutorial/README.adoc` scaffolds
three walkthroughs at design-doc level: (1) certified region-exit audit
tied to ephapax L3 = killer-app candidate; (2) epistemic erasure with
the in-memory-bytes-vs-type-level disclosure as the opening sentence;
(3) provenance/debugging echo. No Agda lands. Lane stays PARKED.
- **`roadmap.adoc`**: Lane 2 close-out item (3) marked LANDED; Lane 4 +
Lane 5 sections gain pre-resolved-decision/scaffold pointers.
Build invariant held: `agda All.agda` + `agda Smoke.agda` both exit 0
under `--safe --without-K`, zero postulates / escape pragmas / funext
(no Agda touched in this commit).
## Test plan
- [x] `agda --library-file=/tmp/agda-libs -i proofs/agda
proofs/agda/All.agda` → exit 0
- [x] `agda --library-file=/tmp/agda-libs -i proofs/agda
proofs/agda/Smoke.agda` → exit 0
- [x] No new postulates / escape pragmas (docs-only commit)
- [x] GPG-signed
- [ ] CI: governance + Hypatia + agda jobs green
- [ ] Auto-merge enabled (squash, delete branch)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/characteristic.adoc
+119-5Lines changed: 119 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,11 +11,15 @@ Gate 2 of the identity claim. It audits the nominees against the gate's
11
11
falsifier — "naturally echo-shaped, not reducible to generic sigma/fiber
12
12
lemmas" — and reports the threshold outcome.
13
13
14
-
This is *Revision 4*. It adds a fourth nominee (`EchoLinear.degradeMode-compose`),
15
-
introduces a new construction in this lane (`characteristic.RoleGraded`)
16
-
that closes the open recommendation from the handoff's Observation E,
17
-
and proposes a candidate fifth nominee. See §<<revision,Revision notes>>
18
-
for the diff.
14
+
This is *Revision 5* (2026-05-26). It is the close-out re-audit
15
+
required by `roadmap.adoc` §Lane 2: it re-checks that the
16
+
Revision-4 nominee table still clears the *comfortable* threshold
17
+
(≥ 3 of 4 surviving) under everything that has landed in this
18
+
lane since then. Verdict: still 4/4 surviving; comfortable
19
+
threshold met by margin of one. The Revision-5 substance is in
20
+
§<<revision-5,Revision-5 re-audit (2026-05-26)>>; the per-nominee
21
+
audits below are unchanged from Revision 4. See §<<revision,Revision
22
+
notes>> for the full diff.
19
23
20
24
toc::[]
21
25
@@ -518,7 +522,117 @@ withdrawn lemma can be left in place as a historical signpost.
518
522
| 3 | Amendment to `roadmap-gates.adoc` adopted. Nominee list: `degrade-via-join`, `degrade-compose`, `applyChoreo-compose`. 3/3 surviving across two modules. Recommended further work: genuine integration theorem; fourth nominee for diversification.
519
523
520
524
| 4 | Added `EchoLinear.degradeMode-compose` as N4 (per the Revision-3 recommendation; user-explicit). Built `characteristic.RoleGraded` and `choreo-grade-commute` (closes handoff Observation E). 4/4 surviving across three modules. Proposed adding `choreo-grade-commute` as N5 (left to integrator's discretion).
525
+
526
+
| 5 (2026-05-26) | Close-out re-audit per `roadmap.adoc` §Lane 2: re-checks the Revision-4 nominee table against everything that has landed since (EI-2 terminated negative; `characteristic.NonTruncatable` for Q2.1 received-`y` form is PARTIALLY REDUCIBLE; the broken `characteristic.N5Falsifier` is ledgered, not silently dropped). Verdict: 4/4 still surviving, *comfortable* threshold (≥3/4) met by margin of one. Candidate N5 (`choreo-grade-commute`) remains unadopted: the post-Rev-4 EI-2 termination shows its non-trivial content is the same single `(c⊑s, keep≤keep)` cell as before, so nominating it would not strengthen the count beyond cosmetic.
527
+
|===
528
+
529
+
[[revision-5]]
530
+
== Revision-5 re-audit (2026-05-26)
531
+
532
+
This section is the close-out audit named in `roadmap.adoc` §Lane 2
533
+
close-out criterion (3). It re-checks the Revision-4 nominee table
534
+
against everything that has landed in the characteristic / Gate-2
535
+
lane since Revision 4. Three categories of evidence were considered;
536
+
none weakens the Revision-4 verdict.
537
+
538
+
=== Bar being checked
539
+
540
+
`roadmap.adoc` §Lane 2 distinguishes two thresholds (taken from
541
+
`roadmap-gates.adoc` Gate 2): the *honest minimum* (≥ 2 of 4
542
+
surviving) and the *comfortable* threshold (≥ 3 of 4 surviving).
543
+
Revision 4 reported 4/4. Lane 2 close-out asks: under everything
544
+
this lane has produced since, does that still hold by the
`characteristic.ModeGraded`, 3D `characteristic.RoleModeGrade`
553
+
with three pairwise commutations + a triple, self-pairing
554
+
`characteristic.RoleRole`), plus the formal exhibit
555
+
`characteristic.ChoreoInjective` for the non-loss-only criterion
556
+
and the partial generic `characteristic.RecipeTheorem`. The
557
+
termination finding is that the integration recipe with the
558
+
existing five named axes does *not* carry substantive simultaneous
559
+
cross-axis content — every "non-trivial" cell carries one-axis-at-
560
+
a-time content. The five doc locations enumerated in EI2_REPORT
561
+
§"Documentation cascade" have all been updated accordingly.
562
+
. *Q2.1 / `characteristic.NonTruncatable`.* The general statement of
563
+
`echo-not-prop` for `(f, y)` with two distinct preimages is
564
+
re-exported under the Q2.1 name; the received-`y` form is
565
+
*PARTIALLY REDUCIBLE* per the module's own Gate-2 falsifier audit
566
+
(proof factors through generic Σ; echo-specific content is in the
567
+
statement only). The constructed-`y` form, which builds `y` from
568
+
bare non-injectivity, carries echo-specific content but is not on
569
+
the Revision-4 nominee table — it is closer to a Gate-3 example
570
+
obligation than a Gate-2 nominee.
571
+
. *`characteristic.N5Falsifier` — KNOWN BROKEN, DELIBERATELY EXCLUDED*
572
+
from `characteristic/All.agda` and from any CI green closure
573
+
(`UnsolvedConstraints` + `UnsolvedMetaVariables`). Status disclosed
574
+
in the module's own broken banner and at
575
+
`docs/echo-types/earn-back-plan.adoc` item C/N5; monitored by an
576
+
expected-failure CI gate. *Crucially: nothing in N5Falsifier is
577
+
cited as evidence in this audit, and its broken status does not
578
+
count against any nominee. The fact that an attempted falsifier
579
+
for N5 (= `choreo-grade-commute`) is not mechanised is exactly why
580
+
N5 itself is not adopted in this revision.*
581
+
582
+
=== Per-nominee re-check
583
+
584
+
[cols="1,2,2,3", options="header"]
521
585
|===
586
+
| Nominee | Module | Status as of Rev 5 | Reason
587
+
588
+
| N1 | `EchoGraded.degrade-via-join` | SURVIVES (unchanged from Rev 4) | The lemma is on the loss-grade lattice's join, not on any integration claim. EI-2 termination does not touch it. No falsifier attempted since Rev 4.
589
+
| N2 | `EchoGraded.degrade-compose` | SURVIVES (unchanged from Rev 4) | As N1: single-decoration lemma; EI-2 termination is orthogonal. No falsifier attempted since Rev 4.
590
+
| N3 | `EchoChoreo.applyChoreo-compose` | SURVIVES (unchanged from Rev 4) | Single-decoration role-reachability lemma; the `client-to-server` content this lemma factors through is the very content EI-2 traced as the one load-bearing non-trivial cell across 2D pairings — that is independent evidence the lemma is non-vacuous, not a weakening.
591
+
| N4 | `EchoLinear.degradeMode-compose` | SURVIVES (unchanged from Rev 4) | Single-decoration mode lemma with the specific `weaken` content (`no-section-collapse-to-residue` attached); EI-2 termination is orthogonal.
0 commit comments