|
1 | 1 | # SPDX-License-Identifier: MPL-2.0 |
2 | | -# STATE.a2ml — Project state checkpoint |
3 | | -# Converted from STATE.scm on 2026-03-15 |
4 | | - |
| 2 | +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
| 3 | +# |
| 4 | +# STATE.a2ml — Ochránce project state checkpoint |
5 | 5 | [metadata] |
6 | 6 | project = "ochrance" |
7 | 7 | version = "0.1.0" |
8 | | -last-updated = "2026-03-15" |
| 8 | +last-updated = "2026-06-05" |
9 | 9 | status = "active" |
| 10 | +session = "machine-readable checkpoint — 2026-06-05" |
10 | 11 |
|
11 | 12 | [project-context] |
12 | | -name = "ochrance" |
13 | | -completion-percentage = 0 |
14 | | -phase = "In development" |
| 13 | +name = "Ochránce" |
| 14 | +purpose = """Neurosymbolic filesystem verification framework in Idris2 dependent types: a pluggable VerifiedSubsystem interface, A2ML attestation/audit markup, a verified Merkle tree with a combiner-generic soundness theorem, and ECHIDNA integration.""" |
| 15 | +completion-percentage = 40 |
| 16 | + |
| 17 | +[position] |
| 18 | +phase = "implementation" # design | implementation | testing | maintenance | archived |
| 19 | +maturity = "experimental" # experimental | alpha | beta | production | lts |
| 20 | + |
| 21 | +[proven-surface] |
| 22 | +# machine-checked, axiom-free (no believe_me / assert_* / postulate / holes on proof symbols) |
| 23 | +theorems = [ |
| 24 | + "merkleCorrect / merkleCorrectWith — inclusion-proof soundness, generic over the hash combiner (XOR & BLAKE3 are instances)", |
| 25 | + "verifyProofReconstructs(With) — verify ≡ (root == reconstruct leaf prf)", |
| 26 | + "roundtripManifest (+ algoRT/modeRT/refsRT/mpolRT codecs) — decodeManifest (encodeManifest m) = Just m", |
| 27 | + "SatisfiesMinimum / attestedSatisfiesLax — progressive-assurance threshold witness", |
| 28 | + "ABI Handle / createHandle — So (ptr /= 0) non-null invariant", |
| 29 | + "supporting lemmas: reconstructAppendWith, powerTwoSucc, justInj", |
| 30 | +] |
| 31 | + |
| 32 | +[route-to-mvp] |
| 33 | +# the proof campaign — docs/PROOFS.adoc is the authoritative, dependency-sorted plan |
| 34 | +milestones = [ |
| 35 | + "Stage 1 — Merkle closure (buildMerkleTree correctness, IO↔pure bridge) + crypto-binding interface (CollisionResistant)", |
| 36 | + "Stage 2 — Verify + Validator soundness; hex codec round-trip", |
| 37 | + "Stage 3 — Repair correctness (L3 linear types); harvest framework's mode-indexed Interface", |
| 38 | + "Stage 4 — Merkle completeness, binding discharge, progressive monotonicity, write-up", |
| 39 | +] |
| 40 | + |
| 41 | +[blockers-and-issues] |
| 42 | +issues = [ |
| 43 | + "No cryptographic-integrity claim yet: Idris stub fallbacks (hashPairStub / blake3Stub / ed25519VerifyStub in FFI/Crypto.idr) remain in the verification flow; libochrance.so not yet built + linked in", |
| 44 | + "Repair (L3) idempotence is property-tested only, not yet proven", |
| 45 | + "ECHIDNA FFI is stubbed (echidnaProve returns 'FFI not yet implemented')", |
| 46 | + "Production round-trip (parse∘lex∘serialize) is honestly bounded by primitive String ops — see docs/PROOFS.adoc", |
| 47 | +] |
| 48 | + |
| 49 | +[critical-next-actions] |
| 50 | +actions = [ |
| 51 | + "Stage 1 (Opus): buildMerkleTree index/root-fold laws; bridge verifyProofIO/rootHashBytesIO to the …With spec", |
| 52 | + "Introduce CollisionResistant h + merkleBinding interface (D2)", |
| 53 | + "Remove Idris-side crypto stubs and build + link libochrance.so into the flow (unblocks the crypto-integrity claim)", |
| 54 | + "Sync .machine_readable scaffold to rsr-template (ai/, compliance/, configs/, policies/, scripts/, 0.1-AI-MANIFEST, ENSAID_CONFIG, root README, root-allow) — pending template access", |
| 55 | +] |
| 56 | + |
| 57 | +[recent-history] |
| 58 | +# 2026-06-05 reconciliation: main is now the single trunk |
| 59 | +merged = [ |
| 60 | + "#31 — Zig crypto FFI (BLAKE3/SHA-256/SHA3-256/Ed25519) + zig-ffi.yml CI + Valence-Shell bridge docs", |
| 61 | + "#32 — A2ML parser totality + correctness, Merkle combiner generalization, proof ledger, post-migration re-entry runbook", |
| 62 | + "#33 — nixpkgs flake.lock bump", |
| 63 | + "#34 — CodeQL cron weekly→monthly", |
| 64 | +] |
| 65 | +decisions = [ |
| 66 | + "D1 — converge on ochrance-core (ochrance-framework duplicate core retired; mode-indexed VerifiedSubsystem Interface harvested)", |
| 67 | + "D2 — crypto binding modelled as a typed CollisionResistant hypothesis, discharged not asserted", |
| 68 | + "D3 — svalinn migrates ReScript → Ephapax (migrate-then-prove)", |
| 69 | +] |
| 70 | + |
| 71 | +[maintenance-status] |
| 72 | +last-run-utc = "2026-06-05T14:08:00Z" |
| 73 | +last-result = "pass" # unknown | pass | warn | fail |
| 74 | +notes = "CI green on main; core builds fully total. A2ML parser 16/16, property 47/47, e2e 22/22; integration suite and Zig FFI build+test green." |
0 commit comments