Skip to content

Commit 0938b46

Browse files
hyperpolymathclaude
andcommitted
Add headline-theorem smoke gate and graduate next-questions to roadmap
Smoke.agda pins load-bearing names per bridge module via `using` clauses, wired into All.agda plus a dedicated CI step so silent renames or deletions fail CI fast even if the rest of the suite still typechecks. CI hardening: SHA-pin checkout to v6.0.2, add SPDX header, set workflow-level `permissions: read-all`. Open synthesis questions (unified linear+choreo+epistemic calculus, cubical/quotient indistinguishability, probabilistic epistemic echoes, scalable tropical optimisation) move from `docs/next-questions.adoc` to a new `Deferred Research Track` section in `roadmap.adoc`. The next-questions file is deleted. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 89f3b2b commit 0938b46

5 files changed

Lines changed: 131 additions & 105 deletions

File tree

.github/workflows/agda.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# (MPL-2.0 is automatic legal fallback until PMPL is formally recognised)
3+
14
name: Agda
25

36
on:
@@ -6,12 +9,14 @@ on:
69
- "**"
710
pull_request:
811

12+
permissions: read-all
13+
914
jobs:
1015
check:
1116
runs-on: ubuntu-latest
1217
steps:
1318
- name: Checkout
14-
uses: actions/checkout@v4
19+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1520

1621
- name: Install Agda and standard library
1722
run: |
@@ -40,3 +45,6 @@ jobs:
4045
4146
- name: Typecheck full suite
4247
run: agda -i proofs/agda proofs/agda/All.agda
48+
49+
- name: Smoke-check headline theorems
50+
run: agda -i proofs/agda proofs/agda/Smoke.agda

docs/next-questions.adoc

Lines changed: 0 additions & 104 deletions
This file was deleted.

proofs/agda/All.agda

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ open import EchoEpistemicResidue
1919
open import EchoRelational
2020
open import EchoCategorical
2121
open import EchoScope
22+
23+
open import Smoke

proofs/agda/Smoke.agda

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{-# OPTIONS --safe --without-K #-}
2+
3+
-- Headline-theorem manifest. Pins the load-bearing names from each bridge
4+
-- module via `using` clauses so a silent rename or deletion fails CI fast,
5+
-- even if the rest of the suite still typechecks.
6+
7+
module Smoke where
8+
9+
open import Echo using (Echo; echo-intro; map-over; map-over-id; map-over-comp; map-square)
10+
open import EchoCharacteristic using (collapse; echo-true; echo-false; echo-true≢echo-false)
11+
open import EchoResidue using (EchoR; collapse-to-residue; strict-weakening-collapse; no-section-collapse-to-residue)
12+
open import EchoExamples using (square9; visible; quot; collapse-residue-identifies)
13+
14+
open import EchoChoreo using
15+
( Role
16+
; Global
17+
; obs
18+
; RoleEcho
19+
; client-non-injective
20+
; server-non-injective
21+
; client-to-server
22+
; client-stability
23+
; client-preimage-class
24+
)
25+
26+
open import EchoEpistemic using
27+
( Indist
28+
; Knows
29+
; knowledge-monotone
30+
; not-knows-server-true-at-client-true
31+
; shared-echo-from-indist
32+
; indist-from-two-echoes
33+
)
34+
35+
open import EchoLinear using
36+
( Mode
37+
; LEcho
38+
; weaken
39+
; strict-linear-example
40+
; no-section-weaken
41+
)
42+
43+
open import EchoGraded using
44+
( Grade
45+
; degrade
46+
; degrade-comp
47+
; ⊔g-assoc
48+
)
49+
50+
open import EchoTropical using
51+
( Candidate
52+
; score
53+
; tropical-non-injective
54+
; IsArgmin
55+
; TropEcho
56+
; distinct-candidates-same-visible-distinct-echo
57+
)
58+
59+
open import EchoIntegration using
60+
( knowledge-preserved-under-choreo
61+
; merged-at-residue
62+
; no-recovery-after-residue-degrade
63+
; knowledge-and-controlled-degradation
64+
)

roadmap.adoc

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,62 @@ Delivered in `proofs/agda/EchoIntegration.agda`:
307307
* `no-recovery-after-residue-degrade`
308308
* `knowledge-and-controlled-degradation`
309309

310+
M13. Headline-theorem smoke gate:
311+
312+
* add `proofs/agda/Smoke.agda` pinning load-bearing names per bridge module
313+
via `using` clauses
314+
* wire it into `All.agda` and a dedicated CI step so silent renames or
315+
deletions fail CI fast even if the rest of the suite still typechecks
316+
* harden `.github/workflows/agda.yml`: SHA-pin checkout, add SPDX header,
317+
set workflow-level `permissions: read-all`
318+
319+
Status: DONE (2026-04-19)
320+
321+
== Deferred Research Track
322+
323+
These are open synthesis problems graduated from `docs/next-questions.adoc`.
324+
They are dissertation-scale or require extensions beyond the current
325+
`--safe --without-K` core, so they sit on the roadmap rather than on the
326+
near-term backlog. Each entry records the gap, what would close it, and
327+
why it is parked.
328+
329+
R1. Unified dependent linear + choreographic + epistemic calculus
330+
331+
* Gap: bridges exist pairwise but not as one typed calculus enforcing
332+
usage discipline + role projection + knowledge operators simultaneously.
333+
* Closure: a core syntax/judgment layer with preservation/progress-style
334+
metatheory tying the three disciplines together.
335+
* Difficulty: extremely hard. Parked: this is the main synthesis target;
336+
not advanced in single sessions.
337+
338+
R2. Cubical or quotient treatment of indistinguishability
339+
340+
* Gap: indistinguishability is currently set-level/propositional; rich
341+
observational equivalence classes need first-class identity handling.
342+
* Closure: a quotient-aware or cubical extension with proofs that echo
343+
constructions commute with equivalence-class semantics.
344+
* Difficulty: very hard. Parked: requires moving off plain
345+
`--safe --without-K` into cubical agda or a heavy quotient layer.
346+
347+
R3. Probabilistic epistemic echoes
348+
349+
* Gap: no probability/distribution layer over echoes; evidence is
350+
binary, not weighted.
351+
* Closure: distribution-valued observation semantics, posterior-style
352+
residue objects, plus stability/transport theorems.
353+
* Difficulty: very hard. Parked: needs a measure/distribution
354+
formalisation that the current core deliberately avoids.
355+
356+
R4. Tropical optimization beyond toy candidate sets
357+
358+
* Gap: tropical development is finite/toy-level (3-element `Candidate`
359+
set, hand-built `IsArgmin`).
360+
* Closure: scalable tropical witness/certificate framework with
361+
composition laws and integration with graded degradation, generalised
362+
over arbitrary finite candidate sets.
363+
* Difficulty: hard. Smallest-step start: lift `IsArgmin` over an
364+
arbitrary `Fin n`-indexed score family; compose with `degrade`.
365+
310366
== Operating Rules
311367

312368
* No postulates unless explicitly isolated and justified.

0 commit comments

Comments
 (0)