Skip to content

V-L1-A3: epic — rewrite code around modalities octad (blocked by V-L1-A1) #21

@hyperpolymath

Description

@hyperpolymath

Status

Blocked by V-L1-A1. Open this only after V-L1-A1 resolves in favour of the modalities octad. If V-L1-A1 picks concerns, close this with a pointer to V-L1-A2 instead.

Context

If the modalities octad ({Graph, Vector, Tensor, Semantic, Document, Temporal, Provenance, Spatial}) is canonical, the codebase currently contradicts the README. The fix is a much larger refactor than V-L1-A2 and should probably be split into sub-issues.

What to do (epic — split into sub-issues)

Code changes

  • A3-1 Rewrite src/abi/mod.rs::OctadDimension enum variants and all() order to the modalities set.
  • A3-2 Rewrite src/manifest/mod.rs::OctadConfig fields: replace enable_provenance/lineage/temporal/access_control/simulation with enable_graph/vector/tensor/semantic/document/spatial (Temporal and Provenance become inherent or stay top-level — design call inside A3-2).
  • A3-3 Rewrite src/codegen/overlay.rs table generators: replace verisimdb_provenance_log / lineage_graph / temporal_versions / access_policies / simulation_* with modality-shaped tables (graph triples, vector index metadata, tensor blobs, semantic CBOR sidecars, document tantivy stub, spatial R-tree index). Note: most of these need real storage backends, not just SQLite DDL — A3-3 itself may need further splitting.
  • A3-4 Rewrite src/codegen/query.rs interceptors per modality.
  • A3-5 Reframe Provenance and Temporal: are they modalities, concerns, or both? Almost certainly the answer is "they're cross-cutting concerns even under the modalities ontology" — document the asymmetry in the ADR.
  • A3-6 Move the existing concerns logic (Lineage, Constraints, AccessControl, Simulation) somewhere — either delete (if not wanted at all), or relabel as orthogonal "aspects" living alongside the modalities octad.

Test + doc

  • A3-7 Rewrite tests/integration_test.rs for the new enum, new manifest schema, new DDL prefixes.
  • A3-8 Update README's Tier 1 / Tier 2 split (Tier 1 vs Tier 2 may collapse if every modality is now Tier 2).
  • A3-9 Update ROADMAP phases.
  • A3-10 Add migration tooling: verisimiser migrate-manifest that translates an old [octad] block to the new schema.

Caveats

This is a breaking change to the public surface. The crate is pre-alpha, so semver allows it, but anything using the existing manifest schema (e.g. examples/blog-db/verisimiser.toml) needs updating in lockstep.

Acceptance

  • All 10 sub-issues filed and linked here
  • Each sub-issue has an acceptance checklist
  • cargo test is green after the epic lands

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions