Skip to content

Commit ae8b14f

Browse files
Merge branch 'main' into feat/echo-displayed-packaging
2 parents 02bd93f + d4048b2 commit ae8b14f

43 files changed

Lines changed: 4215 additions & 82 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/hooks/session-start.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env bash
2+
# SPDX-License-Identifier: MPL-2.0
3+
# SessionStart hook: provision the Agda proof-checker toolchain so Claude Code
4+
# on the web can typecheck this repo (agda proofs/agda/All.agda, Smoke.agda).
5+
#
6+
# Thin wrapper around scripts/provision-agda.sh (idempotent). Web-only; local
7+
# developers manage their own toolchain. Synchronous so the toolchain is ready
8+
# before the agent loop starts.
9+
set -euo pipefail
10+
11+
# Only provision in the remote (web) environment.
12+
if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then
13+
exit 0
14+
fi
15+
16+
exec bash "${CLAUDE_PROJECT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)}/scripts/provision-agda.sh"

.claude/settings.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"hooks": {
3+
"SessionStart": [
4+
{
5+
"hooks": [
6+
{
7+
"type": "command",
8+
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/session-start.sh"
9+
}
10+
]
11+
}
12+
]
13+
}
14+
}

.github/workflows/agda.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,14 @@ jobs:
146146
- name: Typecheck examples lane (Gate #3 canonical examples)
147147
run: agda -i proofs/agda proofs/agda/examples/All.agda
148148

149+
# Cubical lane: the (epi, mono) truncation discharge. A --cubical
150+
# --safe island (zero postulates) that CONSTRUCTS ∥_∥ as a HIT —
151+
# it cannot be imported by the --safe --without-K All.agda, so it
152+
# is typechecked directly here. Its --without-K-profile shadow is
153+
# EchoImageFactorizationPropPostulated (proof-debt (a)/(c)).
154+
- name: Typecheck cubical lane (epi/mono truncation discharge)
155+
run: agda -i proofs/agda proofs/agda/EchoImageFactorizationPropCubical.agda
156+
149157
cold-check:
150158
# Belt-and-braces: NO interface cache, --ignore-interfaces cold
151159
# build. A green here cannot be a stale-.agdai artefact (matters
@@ -189,3 +197,4 @@ jobs:
189197
agda --ignore-interfaces -i proofs/agda proofs/agda/Smoke.agda
190198
agda --ignore-interfaces -i proofs/agda proofs/agda/characteristic/All.agda
191199
agda --ignore-interfaces -i proofs/agda proofs/agda/examples/All.agda
200+
agda --ignore-interfaces -i proofs/agda proofs/agda/EchoImageFactorizationPropCubical.agda

.github/workflows/codeql.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ jobs:
3131
fail-fast: false
3232
matrix:
3333
include:
34-
- language: javascript-typescript
35-
build-mode: none
36-
# Also analyse the GitHub Actions workflows themselves
37-
# (CodeQL `actions` language) — directly relevant given the
38-
# workflow-hardening in this PR, and closes the Hypatia
34+
# CodeQL `actions` language scans the GitHub Actions workflow
35+
# files (present in every repo). The repo has no JS/TS source,
36+
# so the prior JS/TS matrix entry recorded zero results /
37+
# failed "no source files"; closes the Hypatia
3938
# `codeql_missing_actions_language` finding.
4039
- language: actions
4140
build-mode: none

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
*.agdai
22
_build/
3-
.claude/
3+
# Ignore personal Claude config but share the SessionStart toolchain hook.
4+
.claude/*
5+
!.claude/hooks/
6+
!.claude/settings.json
47
.agda/
58

69
# direnv / nix local cache

.machine_readable/agent_instructions/README.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MPL-2.0
2-
// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com>
2+
// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
= Agent Instructions (echo-types)
44
:toc: preamble
55

.machine_readable/agent_instructions/coverage.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com>
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# coverage.a2ml — Session coverage tracking (echo-types)
55
# Updated at the end of each AI agent session.

.machine_readable/agent_instructions/debt.a2ml

Lines changed: 49 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com>
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# debt.a2ml — Meander debt list (echo-types)
55
# Proof obligations and chores found but not discharged. Carried between
@@ -11,41 +11,68 @@
1111

1212
[metadata]
1313
version = "1.0.0"
14-
last-updated = "2026-06-12"
14+
last-updated = "2026-06-14"
15+
16+
# ============================================================================
17+
# OUTSTANDING PROOFS — the live frontier (single inventory, 2026-06-14)
18+
#
19+
# Status legend:
20+
# OPEN-EXTERNAL — mechanisable, but needs new external mathematics
21+
# (no in-repo route exists yet).
22+
# WALLED — proven not closable on the current object under
23+
# --safe --without-K; close-out is a falsifiable verdict.
24+
# OPEN-DESIGN — closable, but gated on a substantial design decision
25+
# (e.g. truncation / Cubical).
26+
# MECHANICAL — closable now, bounded, no new ideas needed.
27+
#
28+
# 2026-06-14 progress note: the two long-standing ordinal "should"
29+
# items (unbudgeted _<ᵇʳᶠ_; K-limited shared-binder; surface-route WF)
30+
# are now DONE in their ACHIEVABLE (sound-carrier) form — wf-<ᵇ²,
31+
# wf-<ᵇʳᶠ², wf-<ᵇ⁺² (PRs #208/#212/#214). What remains of them is the
32+
# native-order form, which is WALLED. All four paper.adoc [EXPAND]
33+
# tags are cleared (#215). The genuine remaining ordinal frontier is
34+
# now order-type fidelity (D-2026-06-14).
35+
# ============================================================================
1536

1637
# ============================================================================
1738
# SHOULD — would fix next wave
1839
# ============================================================================
1940

2041
[[debt.should]]
21-
component = "ordinal-track / Ordinal.Buchholz"
22-
issue = "Unbudgeted _<ᵇʳᶠ_ global WF: eliminate the explicit ℕ budget from wf-<ᵇʳᶠᵇ without leaving --safe --without-K."
42+
component = "ordinal-track / Bachmann-Howard order-type fidelity"
43+
issue = "Order-type fidelity: prove the well-formed Buchholz notation IS the Bachmann-Howard ordinal order, not merely well-founded. Either (a) a verified order-preserving denotation ‖·‖ : BT → 𝒪 of height ψ₀(Ω_ω) with s <ᵇ t iff ‖s‖ < ‖t‖ on the well-formed fragment, or (b) a direct order-type computation (fundamental sequences / collapsing-function correctness)."
44+
status = "OPEN-EXTERNAL"
2345
effort = "hard"
2446
impact = "high"
25-
discovered = "2026-05-20"
26-
note = "Solo, not swarmable; the named next bottleneck toward Bachmann-Howard."
47+
discovered = "2026-06-14"
48+
note = "Decision-log D-2026-06-14 (decisions/ordinal-bh-order-type-fidelity-open.adoc). The genuine remaining ordinal-strength frontier; WF (done, sound-carrier) is the prerequisite, not the result. Gates the Pillar E ordinal appendix's strong reading (the WF-milestone appendix is already written, #215)."
2749

2850
[[debt.should]]
29-
component = "ordinal-track / Order.agda"
30-
issue = "Push the surface-route WF back into Order.agda's main _<ᵇ_ package; close the K-limited shared-binder cases (<ᵇ-ψα, <ᵇ-+2)."
51+
component = "ordinal-track / Order.agda (native _<ᵇ_)"
52+
issue = "Global-native well-foundedness: unbudgeted wf-<ᵇʳᶠ AND the K-limited shared-binder cases (<ᵇ-ψα, <ᵇ-+2) over NATIVE _<ᵇ_ (not the sound carrier)."
53+
status = "WALLED"
3154
effort = "hard"
32-
impact = "high"
55+
impact = "low"
3356
discovered = "2026-04-28"
57+
note = "Native _<ᵇ_ is ordinally unsound (the <ᵇ-+Ω counterexample); all five rank/direct/lex/tower/inverse-image routes are walled (RankBrouwer.agda preamble + buchholz-rank-obstruction.adoc), and rank2 does not escape it. The ACHIEVABLE (sound-carrier) forms are DONE: wf-<ᵇ² / wf-<ᵇʳᶠ² / wf-<ᵇ⁺². Realistic close-out for the native form is a FALSIFIABLE VERDICT, not a positive proof — write it when this item is next picked up."
3458

3559
[[debt.should]]
36-
component = "establishment-track / docs/echo-types/paper.adoc"
37-
issue = "Clear remaining [EXPAND] tags (related work; evaluation; ordinal consumer-evidence appendix)."
38-
effort = "medium"
39-
impact = "medium"
40-
discovered = "2026-05-17"
41-
note = "Author-driven; the ordinal appendix is gated on the Bachmann-Howard milestone. Do NOT auto-run outreach / Zenodo / packaging."
42-
43-
[[debt.should]]
44-
component = "establishment-track / EchoImageFactorization"
45-
issue = "Image factorisation (epi, mono) earn-back requires propositional truncation (Cubical Agda, or a postulated ∥_∥ interface with scoped honest-scope). Substantial design decision."
60+
component = "establishment-track / EchoImageFactorization (epi, mono)"
61+
issue = "Image factorisation (epi, mono) earn-back requires propositional truncation. The postulated-interface placeholder lives in EchoImageFactorizationPropPostulated.agda (the tree's ONLY postulate; not in All.agda)."
62+
status = "OPEN-DESIGN"
4663
effort = "hard"
4764
impact = "medium"
4865
discovered = "2026-05-27"
66+
note = "Cubical Agda (different --safe flag profile) OR a postulated ∥_∥ interface with scoped honest-scope. Substantial design decision; the (equivalence, projection) upper form is already done (Tier 1 + F5)."
67+
68+
[[debt.should]]
69+
component = "earn-back-track / examples/Transport.agda (Gate-3)"
70+
issue = "Two disclosed open items in the transport/Gate-3 example, pending a K-free reformulation (coe-cong-R ∘ sym push). Stated in-file as precise OPENs."
71+
status = "OPEN-DESIGN"
72+
effort = "medium"
73+
impact = "low"
74+
discovered = "2026-05-20"
75+
note = "See earn-back-plan.adoc; nothing is postulated — the items are honestly-stated gaps awaiting a K-free route."
4976

5077
# ============================================================================
5178
# COULD — would fix eventually
@@ -54,16 +81,19 @@ discovered = "2026-05-27"
5481
[[debt.could]]
5582
component = "establishment-track / decoration zoo"
5683
issue = "Wire the remaining decoration modules (Cost / Search / Indexed / Epistemic) as ResidueForm / DecorationStructure instances; mechanical per-module work."
84+
status = "MECHANICAL"
5785
effort = "medium"
5886
impact = "low"
5987
discovered = "2026-05-27"
6088

6189
[[debt.could]]
6290
component = "establishment-track / Q2.1 truncation generalisation"
6391
issue = "Generalise echo-not-prop: for non-injective f with two distinct preimages of y, is-prop (Echo f y) → ⊥. High-leverage for the truncation distinctness argument but currently low-priority."
92+
status = "OPEN-DESIGN"
6493
effort = "medium"
6594
impact = "medium"
6695
discovered = "2026-04-29"
96+
note = "Shares the propositional-truncation design decision with the (epi, mono) earn-back; resolving one likely informs the other."
6797

6898
[[debt.could]]
6999
component = "rsr-conformance (root Intentfile)"

.machine_readable/agent_instructions/methodology.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com>
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# methodology.a2ml — AI agent methodology configuration (echo-types)
55
# Declares how agents should approach work in this Agda proof library.

.machine_readable/anchors/ANCHOR.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com>
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
44
# ANCHOR.a2ml - authoritative anchor for the echo-types repository.
55
# Canonical identity + policy boundaries for downstream/satellite repos.

0 commit comments

Comments
 (0)