|
1 | 1 | # SPDX-License-Identifier: PMPL-1.0-or-later |
2 | | -# 0-AI-MANIFEST.a2ml — verisim-modular-experiment |
3 | | -# Universal entry point for AI agents (Claude, Gemini, OpenAI, etc.) |
4 | | - |
5 | | -repository: |
6 | | - name: verisim-modular-experiment |
7 | | - status: experimental |
8 | | - purpose: | |
9 | | - Research experiment asking whether VeriSimDB's octad can be decomposed |
10 | | - into a slim identity core + federation contract protocol without |
11 | | - weakening VCL's consonance guarantees. NOT a replacement for VeriSimDB. |
12 | | - parent-monorepo: nextgen-databases |
13 | | - siblings: |
14 | | - - verisimdb (canonical, paved-road) |
15 | | - - typeql-experimental (sibling experiment) |
16 | | - |
17 | | -critical-invariants: |
18 | | - - "Main verisimdb/ is read-only from this experiment's perspective." |
19 | | - - "Do NOT weaken VCL's consonance guarantees in pursuit of modularity — |
20 | | - either preserve them via federation contract, or document the |
21 | | - degradation honestly." |
22 | | - - "A negative result (octad is indivisible) is an acceptable outcome." |
23 | | - - "Follow hyperpolymath standards: Idris2 ABI, Zig FFI, PMPL-1.0-or-later." |
24 | | - |
25 | | -canonical-locations: |
26 | | - design-docs: docs/ |
27 | | - spec: spec/ |
28 | | - proof-obligations: PROOF-NEEDS.md |
29 | | - |
30 | | -lifecycle: |
31 | | - on-enter: |
32 | | - - Read README.adoc |
33 | | - - Read docs/DESIGN-2026-04-05-core-and-federation.adoc |
34 | | - - Read PROOF-NEEDS.md |
35 | | - on-exit: |
36 | | - - Update DESIGN log if conclusions changed |
37 | | - - Update PROOF-NEEDS.md if obligations discharged or added |
38 | | - |
39 | | -references: |
40 | | - - memory: vcl-rename.md (user's modularity thought, 2026-04-05) |
41 | | - - memory: feedback_verisimdb_policy.md (maximise-first philosophy) |
42 | | - - conversation: 2026-04-05 Claude Code session |
| 2 | +# STOP - CRITICAL READING REQUIRED |
| 3 | + |
| 4 | +**THIS FILE MUST BE READ FIRST BY ALL AI AGENTS** |
| 5 | + |
| 6 | +## WHAT IS THIS? |
| 7 | + |
| 8 | +This is the AI manifest for **verisim-modular-experiment** — a research |
| 9 | +experiment asking whether VeriSimDB's 8-shape octad can be split into a |
| 10 | +slim identity core plus a federation of optional shapes without breaking |
| 11 | +VCL consonance guarantees. |
| 12 | + |
| 13 | +**NOT a replacement for main `verisimdb/`.** The canonical octad remains |
| 14 | +the paved-road deployment. This experiment is a falsifier that produced |
| 15 | +a positive result: the octad IS divisible. |
| 16 | + |
| 17 | +## CURRENT STATUS (2026-04-05) |
| 18 | + |
| 19 | +- **Experiment status**: CLOSED with positive result. All 5 phases complete. |
| 20 | +- **Path B**: runtime-confirmed. Core = {Semantic, Temporal, Provenance}. |
| 21 | +- **Tests**: 145/145 green across 6 Julia test suites. |
| 22 | +- **Idris2 ABI**: 3 modules typecheck clean in Idris2 0.8.0. |
| 23 | +- **Overall completion**: 100% (research prototype). |
| 24 | + |
| 25 | +## KEY FINDING |
| 26 | + |
| 27 | +The octad decomposes into: |
| 28 | + |
| 29 | +- **Core** (3 shapes, store-level required): Semantic, Temporal, Provenance |
| 30 | +- **Federable** (4 shapes, can be absent at store level): Vector, Tensor, Document, Spatial |
| 31 | +- **Conditional** (1 shape): Graph — required iff cross-entity claims in scope |
| 32 | + |
| 33 | +VCL consonance claims compose soundly across any federation of these |
| 34 | +shapes, via a 5-clause contract (weight renormalisation, drift-signal |
| 35 | +projection, Ed25519 attestation, coherence surface, LWW conflict resolution). |
| 36 | + |
| 37 | +## CANONICAL LOCATIONS |
| 38 | + |
| 39 | +### Machine-Readable Metadata: `.machine_readable/6a2/` ONLY |
| 40 | + |
| 41 | +- `STATE.a2ml` — experiment state, phase status, completion percentage |
| 42 | +- `META.a2ml` — architecture decisions, development practices |
| 43 | +- `ECOSYSTEM.a2ml` — position in ecosystem, siblings, standards followed |
| 44 | + |
| 45 | +### Idris2 ABI: `src/Abi/` |
| 46 | + |
| 47 | +- `Types.idr` — 8-shape enum + Core/Federable/Conditional classification |
| 48 | +- `VerisimCore.idr` — identity-core ABI (enrich, attest, verify) |
| 49 | +- `FederationContract.idr` — 5-clause contract + IsFederable predicate |
| 50 | + |
| 51 | +### Julia Reference Implementation: `impl/` |
| 52 | + |
| 53 | +- `VerisimCore.jl` — Core store with Ed25519-signed enrichment |
| 54 | +- `FederationManager.jl` — renormalisation, aggregate_drift, peer registration |
| 55 | +- `Crypto.jl` — Ed25519 wrapper (libsodium via Sodium.jl) |
| 56 | +- `drift/Metrics.jl` — pairwise drift functions (d_SV, d_VD, d_SD) |
| 57 | +- `peers/VectorPeer.jl`, `peers/DocumentPeer.jl` — Federable peer impls |
| 58 | +- `vcl/{Query,Prover,Parser}.jl` — VCL subset AST + evaluator + parser |
| 59 | + |
| 60 | +### Documentation: root + `docs/` |
| 61 | + |
| 62 | +- `README.adoc`, `EXPLAINME.adoc` — entry points |
| 63 | +- `PLAN.adoc`, `PROOF-NEEDS.md` — research plan + obligations |
| 64 | +- `docs/FINDINGS.adoc` — Phase 5 consolidated findings |
| 65 | +- `docs/CORE-CANDIDATES.adoc` — Phase 1 closure test + resolved classification |
| 66 | +- `docs/OCTAD-SHAPES.adoc` — Phase 0 archaeology |
| 67 | +- `docs/SEAMS.adoc` — ABI↔impl seam audit |
| 68 | +- `docs/SHAPES.adoc` — central shape mapping (TeX ↔ Idris2 ↔ Julia) |
| 69 | +- `docs/FOLDBACK.adoc` — items folded back to main verisimdb |
| 70 | +- `spec/federation-contract.adoc` — 5-clause contract prose spec |
| 71 | + |
| 72 | +## CRITICAL INVARIANTS |
| 73 | + |
| 74 | +1. Main `verisimdb/` is read-only from this experiment's perspective. |
| 75 | +2. Core shapes (Semantic, Temporal, Provenance) **cannot** be federated. |
| 76 | + The Idris2 `IsFederable` predicate enforces this at compile time; |
| 77 | + `FederationManager.register_peer!` enforces it at runtime. |
| 78 | +3. All SCM-style metadata lives in `.machine_readable/6a2/` as A2ML. |
| 79 | +4. All original code carries `SPDX-License-Identifier: PMPL-1.0-or-later`. |
| 80 | + |
| 81 | +## HOW TO RUN |
| 82 | + |
| 83 | +```bash |
| 84 | +# Idris2 ABI |
| 85 | +idris2 --build verisim-modular-experiment.ipkg |
| 86 | + |
| 87 | +# Julia test suites (6 files, 145 assertions) |
| 88 | +for f in test/*.jl; do julia --project=. $f; done |
| 89 | +``` |
| 90 | + |
| 91 | +## LIFECYCLE HOOKS |
| 92 | + |
| 93 | +### on-enter (every session) |
| 94 | + |
| 95 | +1. Read this manifest first. |
| 96 | +2. Read `.machine_readable/6a2/STATE.a2ml` for current status. |
| 97 | +3. Read `docs/FINDINGS.adoc` if asking "what did the experiment prove?". |
| 98 | +4. Read `PLAN.adoc` for phase structure and decision gates. |
| 99 | + |
| 100 | +### on-exit |
| 101 | + |
| 102 | +1. Update `.machine_readable/6a2/STATE.a2ml` if state changed. |
| 103 | +2. Write a session log to `docs/sessions/<date>-<topic>.adoc`. |
| 104 | +3. Commit frequently; push to `main` on nextgen-databases monorepo. |
0 commit comments