Criticality-ordered plan. Toolchain first, then infrastructure, then ecosystem.
Completed prerequisites (this session):
- verisim-planner crate (cost-based query planning)
- Triple API (REST + GraphQL + gRPC)
- VQL AST → LogicalPlan bridge
- Proof obligation costing (per-type: existence→ZKP)
- Adaptive tuning (actual vs estimated latency feedback)
- Post-processing + cross-modal cost models
- ZKP scheme decision: PLONK (documented in Trustfile)
Criticality: CRITICAL | Effort: Medium | Crate: verisim-repl
Every database has an interactive shell. Without one, VeriSimDB is unusable for exploration and debugging.
- Rust CLI binary (
vqlcommand) - Readline/rustyline for input editing, history, multiline
- HTTP client to verisim-api (configurable endpoint)
- Commands:
\connect,\explain,\timing,\format json|table|csv - Syntax highlighting for VQL keywords
- Tab completion for modalities, proof types
- Output formatters: table (default), JSON, CSV
.vqlrcconfig file support
Criticality: HIGH | Effort: Small | Module: VeriSim.VQL.IEx
use VeriSim.VQL.IExin IEx sessionsvql("SELECT GRAPH FROM OCTAD ...")function- Pretty-printed results with modality indicators
vql_explain/1for EXPLAIN output- Direct in-process execution (no HTTP round-trip)
Criticality: HIGH | Effort: Large | Crate: verisim-lsp
- Diagnostics: parse errors, unknown modalities, type mismatches
- Completions: modality names, field names, proof types, keywords
- Hover: modality documentation, cost estimates
- Go-to-definition: proof contracts → semantic store
- VS Code extension + Neovim plugin
- Uses existing ReScript parser via JSON bridge
Criticality: MEDIUM | Effort: Small | Module in verisim-repl
vql fmtsubcommand- Canonical formatting for VQL queries
- Keyword uppercasing, consistent indentation
- Integrates with LSP
textDocument/formatting
Criticality: CRITICAL | Effort: Large | Crate: verisim-wal
Without WAL, any crash loses all data. Non-negotiable for deployment.
- Append-only log of all write operations
- Configurable sync mode:
fsync(safe) vsasync(fast) - Recovery: replay WAL on startup to rebuild state
- Log compaction: periodic checkpoint + truncation
- Per-modality WAL segments for parallel recovery
Criticality: CRITICAL | Effort: Large | Module in verisim-octad
Cross-modality atomicity. A octad update must either succeed across all modalities or fail completely.
- Transaction manager with begin/commit/rollback
- MVCC (Multi-Version Concurrency Control) for isolation
- Undo log for rollback across modalities
- Deadlock detection (modality-level locking)
- Configurable isolation levels: read-committed, serializable
Criticality: HIGH | Effort: Large | Trait: StorageBackend
Currently in-memory only. Need pluggable backends.
StorageBackendtrait with get/put/delete/scan- Backends: Memory (current), RocksDB, SQLite, LMDB
- Per-modality backend configuration
- Migration tooling between backends
Criticality: HIGH | Effort: Medium
- Point-in-time snapshots (consistent across all 6 modalities)
- Incremental backup (WAL-based)
- Restore from snapshot + WAL replay
- Export/import in portable format
Criticality: CRITICAL | Effort: Medium
- API key authentication (REST, GraphQL, gRPC)
- JWT token support for stateless auth
- mTLS for gRPC
- Rate limiting per client
Criticality: HIGH | Effort: Large
Configurable by admin, overridable by user, defaults to global.
- Role-based access control
- Per-modality permissions (read/write/admin)
- Per-entity access lists
- Admin: set global + per-modality defaults
- User: override within allowed scope
- Audit log of access decisions
Criticality: MEDIUM | Effort: Medium
- AES-256-GCM for data files
- Key management via rokur (secrets manager)
- Per-modality encryption keys
- Key rotation without downtime
Criticality: HIGH | Effort: Large
Real zero-knowledge proof verification for VQL-DT PROOF clause. Scheme: PLONK (see contractiles/trust/Trustfile for rationale).
ark-plonkintegration in verisim-semantic- Circuit definitions for each proof type
- Universal SRS (Structured Reference String) management
- Proof generation API
- Proof verification in query pipeline
- Proof caching (verified proofs don't need re-verification)
Criticality: CRITICAL | Effort: Large
The normalizer is VeriSimDB's killer feature — currently stubs.
- Configurable authority ranking per modality
- Admin sets global defaults
- User can override for their entities
- Default: Document > Semantic > Graph > Vector > Tensor > Temporal
- Regeneration strategies:
from_authoritative: regenerate drifted modality from highest-authoritymerge: combine information from multiple modalitiesuser_resolve: flag for manual resolution
- Regeneration pipelines per modality pair
- Validation after regeneration (verify consistency restored)
Criticality: HIGH | Effort: Medium
- Last-writer-wins (default for non-critical data)
- Modality-priority (configurable ranking)
- Manual resolution queue
- Conflict history tracking
Criticality: MEDIUM | Effort: Medium
- What was normalized, when, why
- Before/after snapshots
- Drift score history
- Admin dashboard for normalization health
Criticality: HIGH | Effort: Medium
Close the loop between estimated and actual costs.
EXPLAIN ANALYZEmode: execute + measure actual costs- Per-step actual_ms vs estimated_ms
- Feed results into AdaptiveTuner automatically
- Profile history for query optimization
Criticality: MEDIUM | Effort: Medium
- Parse-once, execute-many for repeated queries
- Plan caching (skip re-optimization for identical plans)
- Parameterized queries (prevent VQL injection)
- Cache invalidation on schema/config changes
Criticality: MEDIUM | Effort: Medium
- Server-sent events (REST)
- GraphQL subscriptions
- gRPC server streaming
- Backpressure handling
- Cursor-based pagination
Criticality: LOW | Effort: Small
- Configurable threshold (default: 100ms)
- Log query text, actual cost, plan chosen
- Integration with tracing/Prometheus
Criticality: HIGH (for production) | Effort: Very Large
- Raft consensus (KRAFT node stubs exist in Elixir)
- Leader-follower replication
- Automatic failover
- Read replicas for scaling queries
Criticality: MEDIUM | Effort: Large
- Octad ID-based consistent hashing
- Per-modality shard assignment
- Cross-shard query routing
- Rebalancing without downtime
Criticality: MEDIUM | Effort: Large
- Federation resolver returns real results (currently empty)
- Cross-instance VQL queries
- Drift-aware federation (respect drift policies)
- Federation discovery protocol
Criticality: HIGH | Effort: Medium
Can't claim best-in-class without numbers.
- Benchmark suite: insert, query, mixed workload
- Compare against: ArangoDB, SurrealDB, Virtuoso
- Publish results with reproducible methodology
- CI-integrated regression benchmarks (criterion)
Criticality: HIGH | Effort: Medium
- Rust SDK (typed, async, with VQL builder)
- Elixir SDK (direct BEAM integration)
- ReScript SDK (VQL builder + type-safe results)
- Each SDK: connection pooling, retry logic, auth
Criticality: MEDIUM | Effort: Medium
- API reference (auto-generated from proto + GraphQL schema)
- VQL language guide with examples
- Architecture guide (Marr's three levels)
- Tutorial: "Build a multimodal search in 10 minutes"
- Deployment guide (Podman + Containerfile)
Criticality: MEDIUM | Effort: Small
- Production Containerfile (multi-stage, chainguard base)
- selur-compose configuration
- Health check endpoints
- Graceful shutdown
- Resource limits and monitoring
Criticality: LOW | Effort: Medium
- Schema versioning
- Data migration scripts
- Import from: Neo4j (graph), Milvus (vector), PostgreSQL (document)
- Export to portable formats
Criticality: MEDIUM | Effort: Small
- Grafana dashboard template
- Per-modality latency, throughput, error rate
- Drift score visualization
- Normalization event timeline
- Query cost distribution
Criticality: LOW | Effort: Small
- Per-modality health (not just binary healthy/unhealthy)
- Degraded mode: some modalities down, others serving
- Dependency health (Elixir orchestration, store backends)
| # | Item | Phase | Criticality |
|---|---|---|---|
| 1 | VQL REPL (Rust CLI) | 1.1 | CRITICAL |
| 2 | Write-Ahead Log | 2.1 | CRITICAL |
| 3 | Real normalizer regeneration | 4.1 | CRITICAL |
| 4 | Authentication | 3.1 | CRITICAL |
| 5 | ACID transactions | 2.2 | CRITICAL |
| 6 | VQL REPL (Elixir IEx) | 1.2 | HIGH |
| 7 | ZKP/PLONK integration | 3.4 | HIGH |
| 8 | Authorization (RBAC) | 3.2 | HIGH |
| 9 | Query profiling (EXPLAIN ANALYZE) | 5.1 | HIGH |
| 10 | VQL LSP | 1.3 | HIGH |
| 11 | Persistence backends | 2.3 | HIGH |
| 12 | Benchmarks vs ArangoDB/SurrealDB/Virtuoso | 7.1 | HIGH |
| 13 | Client libraries | 7.2 | HIGH |
| 14 | Snapshots & backup | 2.4 | HIGH |
| 15 | Conflict resolution | 4.2 | HIGH |
| 16 | Replication | 6.1 | HIGH |
| 17 | VQL formatter | 1.4 | MEDIUM |
| 18 | Encryption at rest | 3.3 | MEDIUM |
| 19 | Result streaming | 5.3 | MEDIUM |
| 20 | Prepared statements | 5.2 | MEDIUM |
| 21 | Normalization audit trail | 4.3 | MEDIUM |
| 22 | Documentation site | 7.3 | MEDIUM |
| 23 | Metrics dashboard | 8.1 | MEDIUM |
| 24 | Containerized deployment | 7.4 | MEDIUM |
| 25 | Sharding | 6.2 | MEDIUM |
| 26 | Real federation | 6.3 | MEDIUM |
| 27 | Slow query log | 5.4 | LOW |
| 28 | Health check degraded states | 8.2 | LOW |
| 29 | Migration tooling | 7.5 | LOW |