Repository navigation
docs: squeakwell route plan (proof + engineering ladders on VeriSimDB) and honest baseline #78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
4164758
b3c05d0
08763aa
4059e02
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,10 +2,17 @@ | |
|
|
||
| === Current State | ||
|
|
||
| * *LOC*: ~3,470 | ||
| * *Languages*: Rust, Idris2, Zig | ||
| * *Existing ABI proofs*: `+src/interface/abi/*.idr+` (template-level) | ||
| * *Dangerous patterns*: None detected | ||
| * *LOC*: ~640 Rust (2026-11-05) | ||
| * *Languages*: Rust; an unbuilt Zig FFI template; no Idris2 source yet | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This newly added current-state description says there is an unbuilt Zig FFI template, but the same commit deletes Useful? React with 👍 / 👎. |
||
| * *Existing proofs*: none. No `.idr` file exists (the template ABI was removed | ||
| on 2026-03-29, see below). No proof ledger exists yet; one is required by | ||
| README-EXPLAINME-STANDARD section 5 before any proof is claimed. | ||
| * *Prover homes per standards PROOF-POLICY*: Creusot for the Rust kernel | ||
| behaviour, Idris2 for the program/journal/gate wire contracts, Agda (echo-types) | ||
| as theory source rechecked in Rocq (verisimdb/formal) and Lean (tropical-types). | ||
| The rung-by-rung ladder is `docs/ROUTE-PLAN.adoc` section 6. | ||
| * *Dangerous patterns*: fail-open `.ok()` on every VeriSimDB call in | ||
| `src/engine/mod.rs` (hides the wrong-route bug); to be removed | ||
|
|
||
| === What Needs Proving | ||
|
|
||
|
|
@@ -33,7 +40,10 @@ insufficient | |
|
|
||
| === Recommended Prover | ||
|
|
||
| * *Idris2* for recovery correctness invariants | ||
| * *Creusot* for the Rust resolve/fill/measure kernel (behavioural properties of | ||
| first-party Rust), *Idris2* for the wire contracts, *Agda → Rocq/Lean* for the | ||
| lattice and convergence theory. The README's earlier framing of Idris2 as the | ||
| home of "recovery correctness invariants" is superseded by PROOF-POLICY. | ||
|
|
||
| === Priority | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| // SPDX-License-Identifier: CC-BY-SA-4.0 | ||
| // Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> | ||
| = Octad-Recover (working title — see naming section below) | ||
| = squeakwell — database recovery through cross-modal constraint propagation | ||
| Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> | ||
| :toc: left | ||
| :toclevels: 3 | ||
|
|
@@ -63,7 +63,8 @@ Damaged data (fragments, corruption, inconsistencies) | |
| ▼ | ||
| PHASE 5 — CONVERGENCE (VCL-total Levels 7-10) | ||
| Cardinality bounds, effect tracking, temporal consistency, linearity. | ||
| Data that passes all 10 levels is formally verified as recovered. | ||
| The reintroduction statements for an entity are gate-admissible at level k | ||
| (ceiling 6 from VCL text; see docs/ROUTE-PLAN.adoc section 4.4). | ||
|
Comment on lines
+66
to
+67
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The replacement text caps gate-admissibility at L6 while the immediately preceding Phase 5 heading still promises VCL levels 7–10, and the architecture summary repeats that promise. The route plan explicitly says L7–L10 are not expressible and Phase 5 is being re-scoped, so readers are still given an impossible phase definition; update the heading and summary to describe the fixpoint/L6 checks instead. Useful? React with 👍 / 👎. |
||
| Drift score: approaches 0.0 | ||
| │ | ||
| ▼ | ||
|
|
@@ -118,13 +119,14 @@ function: recovery is complete when cross-modal drift approaches zero. | |
| - Phase 4: Type tightening (VCL-total levels 4-6) | ||
| - Phase 5: Convergence (VCL-total levels 7-10) | ||
|
|
||
| * **Idris2 type kernel** (`src/abi/`) — Formal proofs that: | ||
| * **Invariants** (`src/abi/mod.rs`; no proofs exist yet, prover homes per | ||
| estate PROOF-POLICY are in `docs/ROUTE-PLAN.adoc`) — the engine is designed so that: | ||
| - Constraint propagation is monotonic (data only gets more consistent) | ||
| - Cross-modal inference preserves entity identity | ||
| - Conflict resolution is deterministic (same input → same output) | ||
| - Type ratchet is sound (passing level N implies passing levels 1..N-1) | ||
|
|
||
| * **VCL-total integration** — Uses TypedQLiser as the type-checking layer. | ||
| * **VCL-UT integration** — Uses the `vclt-gate` binary (hyperpolymath/vcl-ut) as the certifier. | ||
| Each phase invokes progressively stricter VCL-total levels. | ||
|
|
||
| * **Output** — Reconstructed database in VeriSimDB format (all 8 modalities | ||
|
|
@@ -233,7 +235,12 @@ function: recovery is complete when cross-modal drift approaches zero. | |
|
|
||
| == Status | ||
|
|
||
| **Concept stage.** Architecture sketched, phases defined, naming under discussion. | ||
| **Concept stage (2026-11-05).** Architecture sketched, phases defined, engine and | ||
| client are stubs, no proofs exist yet. The route to a working recovery and to the | ||
| first mechanised results, the decisions still open, and what must be created in | ||
| verisimdb, vcl-ut, echo-types and tropical-types are in `docs/ROUTE-PLAN.adoc`. | ||
| The crate, repository and clade are named `squeakwell`; the naming table above | ||
| is kept as the record of the alternatives. | ||
|
|
||
| == License | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The critical-action list directs the next session to run only E1–E6, but the route plan defines E7 as the dependency-weight experiment and explicitly requires E1–E7 before ending the session. The following action also points to nonexistent section 12, while the cross-repository issue list is in section 10. Following this machine-readable state therefore skips a required gate and leaves issue filing without a valid target; update both references to match the plan.
Useful? React with 👍 / 👎.