Skip to content

Commit f8d5dea

Browse files
hyperpolymathclaude
andcommitted
chore: close-out pass — docs, machine-readable, gitignore, cruft
- 0-AI-MANIFEST.a2ml: fix path mismatch (.machine_readable/ → 6a2/) and update no-overclaim invariant for published L11-L12 status - EXPLAINME.adoc: update to 12-level reality — L11-L12 published (Zenodo 10.5281/zenodo.19535653), not draft-only; add L11/L12 file map entries (Tropical.idr, Epistemic.idr, examples 05-06) - STATE.a2ml: advance to 2026-04-12, add Zenodo milestone (100%) - NEUROSYM.a2ml: report-format logtalk → json (Logtalk removed from Hypatia 2026-04-12) - .gitignore: add LaTeX/tectonic artifacts (*.pdf, *.aux, *.fls, *.fdb_latexmk, *.synctex.gz, *.toc, *.out, *.bbl, *.blg, etc.) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2f9c423 commit f8d5dea

5 files changed

Lines changed: 62 additions & 40 deletions

File tree

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,17 @@ sync_report*.txt
122122

123123
# Hypatia scan cache (local-only)
124124
.hypatia/
125+
126+
# LaTeX / tectonic build artifacts (compiled PDFs are not source)
127+
*.pdf
128+
*.aux
129+
*.fls
130+
*.fdb_latexmk
131+
*.synctex.gz
132+
*.toc
133+
*.out
134+
*.bbl
135+
*.blg
136+
*.run.xml
137+
*-blx.bib
138+
_minted-*/

.machine_readable/6a2/NEUROSYM.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ last-updated = "2026-04-11"
1111
[hypatia-config]
1212
scan-enabled = true
1313
scan-depth = "standard" # quick | standard | deep
14-
report-format = "logtalk"
14+
report-format = "json" # logtalk removed from Hypatia 2026-04-12; now consumes JSON AssailReport
1515

1616
[symbolic-rules]
1717
# Custom symbolic rules for this project

.machine_readable/6a2/STATE.a2ml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
[metadata]
77
project = "typed-wasm"
88
version = "0.1.0"
9-
last-updated = "2026-04-11"
9+
last-updated = "2026-04-12"
1010
status = "active" # active | paused | archived
11-
session = "2026-04-11layout proofs complete, panic-attack clean, ECHIDNA wired"
11+
session = "2026-04-12Zenodo preprint published (DOI 10.5281/zenodo.19535653), 12-level paper, all docs updated, repo closed out"
1212

1313
[project-context]
1414
name = "typed-wasm"
@@ -39,6 +39,7 @@ milestones = [
3939
{ name = "generated/abi/ C header pipeline", completion = 0 },
4040
{ name = "Evidence-backed benchmarks and aspect coverage", completion = 10 },
4141
{ name = "L11-L12 checked integration", completion = 0 },
42+
{ name = "Preprint published on Zenodo (12-level)", completion = 100 },
4243
]
4344

4445
[blockers-and-issues]

0-AI-MANIFEST.a2ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ id = "typed-wasm-root-manifest"
1515
level = 0
1616

1717
[canonical_locations]
18-
state = ".machine_readable/STATE.a2ml"
19-
meta = ".machine_readable/META.a2ml"
20-
ecosystem = ".machine_readable/ECOSYSTEM.a2ml"
18+
state = ".machine_readable/6a2/STATE.a2ml"
19+
meta = ".machine_readable/6a2/META.a2ml"
20+
ecosystem = ".machine_readable/6a2/ECOSYSTEM.a2ml"
2121
grammar = "spec/grammar.ebnf"
2222
abi_proofs = "src/abi/"
2323
zig_ffi = "ffi/zig/"
@@ -27,7 +27,7 @@ examples = "examples/"
2727
no-partial-proofs = "NO believe_me, assert_total, unsafePerformIO in Idris2 code"
2828
no-raw-memory = "NO raw memory access — all access through typed region operations"
2929
progressive-core = "Checked core L1-L10 is progressive — cannot skip levels"
30-
no-overclaim = "Do not overclaim L11-L12 — draft research only, not in default build"
30+
no-overclaim = "L11-L12 are published (Zenodo 10.5281/zenodo.19535653) but NOT in the checked build — cite paper, do not claim machine-checked"
3131
immutable-schemas = "Region schemas are immutable — once declared, layout is fixed"
3232
structural-compat = "Multi-module schemas must agree — structural compatibility required"
3333
spdx = "SPDX PMPL-1.0-or-later on all files"

EXPLAINME.adoc

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,59 +7,54 @@ The README makes claims. This file backs them up with evidence from real code.
77

88
== Core Claims & Evidence
99

10-
=== Claim 1: "The 10-Level Safety Hierarchy — Checked L1-L10 Core, 0 believe_me"
10+
=== Claim 1: "12-Level Progressive Type Safety — Checked L1-L10 Core, L11-L12 Published"
1111

12-
**From README** (lines 11-14):
12+
**From README**:
1313
____
1414
image:https://img.shields.io/badge/believe__me-0-brightgreen[believe_me: 0]
15-
image:https://img.shields.io/badge/Levels-L1--10_checked_core_(L11--12_draft)-blue[Levels: checked core]
15+
image:https://img.shields.io/badge/Levels-L1--10_checked_core_(L11--12_published)-blue[Levels: checked core]
1616
17-
**Progressive type safety for WebAssembly linear memory — checked L1-L10 core, 0 believe_me in the checked proof package.**
17+
**Progressive type safety for WebAssembly linear memory — checked L1-L10 core, 0 believe_me in the checked proof package.
18+
L11 (tropical cost-tracking) and L12 (epistemic safety) are formally specified and published.**
1819
____
1920

20-
**Evidence**: `/var/mnt/eclipse/repos/typed-wasm/src/abi/Levels.idr` defines Idris2 dependent types for all 10 levels: L1 (instruction validity), L2 (region binding), L3 (type compatibility), ..., L10 (linearity). Proof search at `/var/mnt/eclipse/repos/typed-wasm/src/abi/Proofs.idr` contains zero `believe_me`, `assert_total`, or escape hatches. LEVEL-STATUS.md confirms "checked L1-L10 core."
21+
**Evidence**: `/var/mnt/eclipse/repos/typed-wasm/src/abi/Levels.idr` defines Idris2 dependent types for all 10 checked levels: L1 (instruction validity), L2 (region binding), L3 (type compatibility), ..., L10 (linearity). `src/abi/Proofs.idr` contains zero `believe_me`, `assert_total`, or escape hatches. LEVEL-STATUS.md confirms "checked L1-L10 core."
2122

22-
**Caveat**: L11-L12 (advanced liveness + exotic type-level properties) are *draft files*, not integrated into the default proof package. Claims scope to L1-L10 only.
23+
L11 and L12 are formally specified in `src/abi/TypedWasm/ABI/Tropical.idr` (L11: AllPairsCosts + Level11KleeneProof) and `src/abi/TypedWasm/ABI/Epistemic.idr` (L12: Level12Proof + freshness witnesses). The full 12-level type hierarchy is given by the `fullCert12` top-level certificate type in `Proofs.idr`.
24+
25+
**Published**: Zenodo `10.5281/zenodo.19535653` — "typed-wasm: Progressive Type Safety for WebAssembly Linear Memory" (v1.1.0-paper, 2026-04-12).
26+
27+
**Caveat**: L11-L12 type-check in Idris2 but are NOT integrated into the default checked build. The `fullCert12` certificate exists as a type; producing concrete witnesses for arbitrary programs requires additional toolchain work. Claims cite the paper; do not assert machine-checked L11-L12 coverage.
2328

2429
=== Claim 2: "Multi-Module Type Safety Across Language Boundaries"
2530

26-
**From README** (lines 52-93):
31+
**From README**:
2732
____
2833
When Module A (compiled from Rust) shares memory with Module B (compiled from ReScript), **neither source-level type system can verify the boundary.**
2934
3035
typed-wasm declares the shared schema once. Both modules import it. The typed-wasm checker verifies structural agreement at compile time, before any module runs.
3136
____
3237

33-
**Evidence**: `/var/mnt/eclipse/repos/typed-wasm/examples/02-multi-module.twasm` demonstrates: Module A exports a `region Entity` with fields (pos_x, pos_y, hp); Module B imports the same region and defines typed load/store operations. Prover at `/var/mnt/eclipse/repos/typed-wasm/src/abi/Proofs.idr` proves field offset and alignment agreement.
38+
**Evidence**: `examples/02-multi-module.twasm` demonstrates: Module A exports a `region Entity` with fields (pos_x, pos_y, hp); Module B imports the same region and defines typed load/store operations. `src/abi/Proofs.idr` proves field offset and alignment agreement.
3439

35-
**Caveat**: Schema agreement proof is *type-level* (compile-time). Does NOT verify that actual Rust/ReScript compiled code respects field layoutcorrespondence is manual. Runtime behavior depends on correct field packing across compilers.
40+
**Caveat**: Schema agreement proof is _type-level_ (compile-time). Does NOT verify that actual Rust/ReScript compiled code respects field layoutcorrespondence is manual. Runtime behavior depends on correct field packing across compilers.
3641

3742
=== Claim 3: "Checked L1-L10 Proof Core — All 10 Levels Integrated"
3843

39-
**From README** (lines 31-47):
40-
____
41-
[cols="1,2,2"]
42-
|===
43-
| Level | Database (TypedQL) | WASM (typed-wasm)
44-
| 1 | Parse-time safety | Instruction validity
45-
| ...
46-
| 10 | Linearity | Linear resource usage
47-
|===
48-
____
49-
50-
**Evidence**: `/var/mnt/eclipse/repos/typed-wasm/spec/10-levels-for-wasm.adoc` maps each level from database (TypedQL) to WASM. `/var/mnt/eclipse/repos/typed-wasm/src/abi/` contains proof files for each: L1-L3 in Types.idr, L4-L5 in Layout.idr, L6-L7 in Access.idr, L8-L10 in Linearity.idr.
44+
**Evidence**: `spec/10-levels-for-wasm.adoc` maps each level from database (TypedQL) to WASM. `src/abi/` contains proof files for each: L1-L3 in Types.idr, L4-L5 in Layout.idr, L6-L7 in Access.idr, L8-L10 in Linearity.idr.
5145

52-
**Caveat**: Proofs are *about abstract WASM models*, not actual WebAssembly instruction sequences. Translation from `.twasm` (typed-wasm surface syntax) to WASM bytecode is NOT mechanically verified.
46+
**Caveat**: Proofs are _about abstract WASM models_, not actual WebAssembly instruction sequences. Translation from `.twasm` (typed-wasm surface syntax) to WASM bytecode is NOT mechanically verified.
5347

5448
== Dogfooded Across The Account
5549

56-
Uses the hyperpolymath type safety stack (Idris2 + TypeLL + 10-level verification). Same pattern across:
57-
- https://github.com/hyperpolymath/typedqliser[TypedQLiser] — 10 levels for database query languages (origin)
58-
- https://github.com/hyperpolymath/vql-ut[VCL-total] — 10 levels for VeriSimDB
50+
Uses the hyperpolymath type safety stack (Idris2 + TypeLL + 12-level verification). Same pattern across:
51+
52+
- https://github.com/hyperpolymath/typedqliser[TypedQLiser] — 12 levels for database query languages (origin)
53+
- https://github.com/hyperpolymath/vql-ut[VCL-total] — 12 levels for VeriSimDB
5954
- https://github.com/hyperpolymath/typell[TypeLL] — Type theory foundation (shared)
6055
- https://github.com/hyperpolymath/echidna[ECHIDNA] — Property-based prover testing (integrated)
6156

62-
All share: *Progressive safety levels, mechanized proofs in Idris2, no escape hatches in checked core.*
57+
All share: _Progressive safety levels, mechanized proofs in Idris2, no escape hatches in checked core._
6358

6459
== File Map
6560

@@ -69,7 +64,7 @@ All share: *Progressive safety levels, mechanized proofs in Idris2, no escape ha
6964

7065
| `spec/grammar.ebnf` | The `.twasm` surface syntax in EBNF: region declarations, typed load/store operations, effect annotations, module imports/exports
7166

72-
| `spec/10-levels-for-wasm.adoc` | Mapping document: each of the 10 levels from TypedQL (database) → typed-wasm (WASM), with rationale and examples
67+
| `spec/10-levels-for-wasm.adoc` | Mapping document: each of the 12 levels from TypedQL (database) → typed-wasm (WASM), with rationale and examples
7368

7469
| `src/abi/Types.idr` | Idris2 dependent types: L1-L3 proof definitions (instruction validity, region binding, type compatibility) with witness types
7570

@@ -81,7 +76,11 @@ All share: *Progressive safety levels, mechanized proofs in Idris2, no escape ha
8176

8277
| `src/abi/Linearity.idr` | Idris2 linear type proofs: L10 (exactly-once resource usage via linear arrows)
8378

84-
| `src/abi/Proofs.idr` | Machine-checked proofs proving the 10 levels are satisfied. Zero `believe_me`.
79+
| `src/abi/TypedWasm/ABI/Tropical.idr` | L11: tropical cost-tracking — AllPairsCosts + Level11KleeneProof (min-plus semiring, bounded memory access cost)
80+
81+
| `src/abi/TypedWasm/ABI/Epistemic.idr` | L12: epistemic safety — Level12Proof + freshness witnesses (prevents stale-state reads across modules)
82+
83+
| `src/abi/Proofs.idr` | Machine-checked proofs for L1-L10. `fullCert12` top-level certificate for all 12 levels. Zero `believe_me`.
8584

8685
| `src/abi/Foreign.idr` | FFI declarations: C header generation from Idris2 ABI
8786

@@ -97,26 +96,34 @@ All share: *Progressive safety levels, mechanized proofs in Idris2, no escape ha
9796

9897
| `examples/04-ecs-game.twasm` | Real-world example: Entity Component System as columnar database with typed-wasm regions
9998

100-
| `LEVEL-STATUS.md` | Current claim envelope: which levels are checked (L1-L10), which are draft (L11-L12), audit status
99+
| `examples/05-tropical-cost.twasm` | L11 demo: particle system with bounded memory access cost via tropical semiring
100+
101+
| `examples/06-epistemic-sync.twasm` | L12 demo: game server/renderer with freshness enforcement across module boundaries
102+
103+
| `docs/arxiv/typed-wasm.tex` | Preprint source: "typed-wasm: Progressive Type Safety for WebAssembly Linear Memory" (12-level)
104+
105+
| `LEVEL-STATUS.md` | Current claim envelope: which levels are checked (L1-L10), which are published-but-not-integrated (L11-L12), audit status
101106

102-
| `docs/WHITEPAPER.md` | Full academic treatment: type theory, proof structure, GraalVM implications
107+
| `docs/supplementary/proof-inventory.adoc` | Full mapping of paper theorems to source locations, including Zero-Overhead Property, tropical semiring laws, epistemic freshness theorems
103108
|===
104109

105110
== Status
106111

107-
**Honest Assessment**: Pre-alpha / Research. The checked L1-L10 ABI core and Zig FFI are in place. Parser smoke tests pass. L11-L12 are experimental drafts (not integrated). End-to-end codegen (`.twasm` → WASM bytecode) is NOT yet implemented.
112+
**Honest Assessment**: Pre-alpha / Research. The checked L1-L10 ABI core and Zig FFI are in place. L11-L12 are formally specified and published (Zenodo `10.5281/zenodo.19535653`). End-to-end codegen (`.twasm` → WASM bytecode) is NOT yet implemented.
108113

109114
**What Works**:
110115
- L1-L10 proof core in Idris2 (zero unsound axioms)
116+
- L11-L12 type specifications in Idris2 (`fullCert12` certificate type)
111117
- Zig FFI layer (C-compatible, tested)
112118
- Multi-module schema agreement verification
119+
- Published preprint with formal inference rules
113120

114121
**What's Missing**:
115122
- Parser for `.twasm` syntax (spec exists, implementation partial)
116123
- Codegen: `.twasm` → WASM bytecode
117-
- L11-L12 integration (in progress)
124+
- L11-L12 concrete witness generation (type hierarchy complete; toolchain integration pending)
118125
- End-to-end examples (design only)
119126

120127
== Questions?
121128

122-
Open an issue or reach out at j.d.a.jewell@open.ac.uk — happy to explain the 10-level hierarchy, multi-module type safety, or proof structure.
129+
Open an issue or reach out at j.d.a.jewell@open.ac.uk — happy to explain the 12-level hierarchy, multi-module type safety, or proof structure.

0 commit comments

Comments
 (0)