|
11 | 11 | |-------------|--------|-------| |
12 | 12 | | Unit tests | ~40 | VeriSimDB Elixir: consensus (kraft_node, kraft_wal, kraft_recovery, kraft_transport), federation adapters (mongodb, redis, duckdb, clickhouse, surrealdb, sqlite, neo4j, vector_db, influxdb, object_storage), resolver, adapter + base tests | |
13 | 13 | | Integration | ~12 | Federation adapter integration tests (mongodb, redis, neo4j, clickhouse, surrealdb, influxdb) | |
14 | | -| E2E | 18 | `verisimdb/elixir-orchestration/test/verisim/e2e_verisimdb_test.exs` — lifecycle, VQL, schema, error handling | |
| 14 | +| E2E | 18 | `verisimdb/elixir-orchestration/test/verisim/e2e_verisimdb_test.exs` — lifecycle, VCL, schema, error handling | |
15 | 15 | | P2P (property) | 5 props + 1 test | `verisimdb/elixir-orchestration/test/verisim/consensus/kraft_property_test.exs` — leader uniqueness, log replication, state machine, partition tolerance, read-your-writes | |
16 | | -| Aspect: Security | 10 tests | `verisimdb/elixir-orchestration/test/verisim/aspect/security_test.exs` — VQL injection, unauthorised access, cross-tenant isolation, error disclosure | |
17 | | -| Aspect: Concurrency | 14 tests | `verisimdb/elixir-orchestration/test/verisim/aspect/concurrency_test.exs` — concurrent entity writes, parallel VQL, concurrent Kraft proposals, DriftMonitor load, SchemaRegistry concurrency | |
| 16 | +| Aspect: Security | 10 tests | `verisimdb/elixir-orchestration/test/verisim/aspect/security_test.exs` — VCL injection, unauthorised access, cross-tenant isolation, error disclosure | |
| 17 | +| Aspect: Concurrency | 14 tests | `verisimdb/elixir-orchestration/test/verisim/aspect/concurrency_test.exs` — concurrent entity writes, parallel VCL, concurrent Kraft proposals, DriftMonitor load, SchemaRegistry concurrency | |
18 | 18 | | lithoglyph smoke | Gleam | `lithoglyph/beam/test/lith_beam_smoke_test.gleam` — version, connect, lifecycle, error handling | |
19 | | -| Benchmarks | 2 real files | `verisimdb/benches/modality_benchmarks.rs` (Rust, pre-existing), `verisimdb/benches/throughput_benchmarks.rs` (Rust, new — write throughput, read latency, VQL complexity) | |
| 19 | +| Benchmarks | 2 real files | `verisimdb/benches/modality_benchmarks.rs` (Rust, pre-existing), `verisimdb/benches/throughput_benchmarks.rs` (Rust, new — write throughput, read latency, VCL complexity) | |
20 | 20 |
|
21 | 21 | **Source modules:** ~833 across 2 major subsystems. verisimdb: ~248 files (Rust core, Elixir orchestration, Gleam, Idris2 ABI, Zig FFI, ReScript). lithoglyph: ~212 files (Gleam, Rust, Factor). |
22 | 22 |
|
23 | 23 | ## What's Done (2026-04-04) |
24 | 24 |
|
25 | 25 | ### Completed |
26 | | -- [x] VeriSimDB E2E tests (18 tests): write→read lifecycle, VQL pipeline, schema validation, error handling |
| 26 | +- [x] VeriSimDB E2E tests (18 tests): write→read lifecycle, VCL pipeline, schema validation, error handling |
27 | 27 | - [x] Kraft consensus P2P property tests (5 properties + 1 unit): leader uniqueness, log replication, state machine safety, partition tolerance, read-your-writes |
28 | | -- [x] VQL security aspect tests (10 tests): injection hardening, auth rejection, cross-tenant isolation, error disclosure |
29 | | -- [x] Concurrency aspect tests (14 tests): concurrent EntityServer writes, parallel VQL, concurrent Kraft proposals, DriftMonitor load, SchemaRegistry concurrent registration |
| 28 | +- [x] VCL security aspect tests (10 tests): injection hardening, auth rejection, cross-tenant isolation, error disclosure |
| 29 | +- [x] Concurrency aspect tests (14 tests): concurrent EntityServer writes, parallel VCL, concurrent Kraft proposals, DriftMonitor load, SchemaRegistry concurrent registration |
30 | 30 | - [x] lithoglyph Gleam smoke test: lifecycle smoke (graceful-failure when NIF not compiled) |
31 | | -- [x] Rust throughput benchmarks: write throughput (1/10/100 batch), read latency (hot/cold), VQL complexity tiers, write-read round-trip latency |
| 31 | +- [x] Rust throughput benchmarks: write throughput (1/10/100 batch), read latency (hot/cold), VCL complexity tiers, write-read round-trip latency |
32 | 32 |
|
33 | 33 | ### Known Gaps Surfaced by Tests |
34 | | -- VQLTypeChecker calls `:erlang.binary_to_existing_atom/1` for unknown proof types → ArgumentError (hardening gap, P1) |
35 | | -- VQL built-in parser does NOT strip null bytes from entity IDs (C-string truncation risk at FFI layer, P1) |
| 34 | +- VCLTypeChecker calls `:erlang.binary_to_existing_atom/1` for unknown proof types → ArgumentError (hardening gap, P1) |
| 35 | +- VCL built-in parser does NOT strip null bytes from entity IDs (C-string truncation risk at FFI layer, P1) |
36 | 36 | - SchemaRegistry.register_type/1 returns `{:error, :already_exists}` for duplicate IRIs rather than idempotent `:ok` (P2) |
37 | 37 | - `kraft_node_test.exs` `remove_server` test has a GenServer timeout (pre-existing, P2) |
38 | 38 |
|
39 | 39 | ## What's Still Missing |
40 | 40 |
|
41 | 41 | ### P2P (Property-Based) Tests |
42 | 42 | - [ ] CRDT convergence: property tests for VeriSimDB's CRDT operations |
43 | | -- [ ] VQL query parsing: arbitrary query fuzzing (replace fuzz placeholder) |
| 43 | +- [ ] VCL query parsing: arbitrary query fuzzing (replace fuzz placeholder) |
44 | 44 | - [ ] Federation: property tests for data consistency across adapters |
45 | 45 | - [ ] lithoglyph: data structure invariant tests |
46 | 46 |
|
47 | 47 | ### E2E Tests |
48 | 48 | - [ ] Federation: write through adapter → verify in external DB → read back |
49 | 49 | - [ ] Kraft consensus: cluster formation → leader election → write → node failure → recovery |
50 | | -- [ ] VQL: complex query execution with joins/aggregations |
| 50 | +- [ ] VCL: complex query execution with joins/aggregations |
51 | 51 |
|
52 | 52 | ### Build & Execution |
53 | 53 | - [ ] `mix test` for VeriSimDB Elixir (currently 6 pre-existing failures, not from new tests) |
|
73 | 73 | - Unit + smoke: pre-existing + new E2E lifecycle tests |
74 | 74 | - Build verification: `mix test` runs (6 pre-existing failures, not from new tests) |
75 | 75 | - P2P: KRaft property tests |
76 | | -- E2E: full lifecycle + VQL + schema + error paths |
| 76 | +- E2E: full lifecycle + VCL + schema + error paths |
77 | 77 | - Reflexive: type hierarchy, schema self-validation |
78 | | -- Contract: VQL proof certificate tests (pre-existing) |
| 78 | +- Contract: VCL proof certificate tests (pre-existing) |
79 | 79 | - Aspect: security injection + concurrency tests |
80 | | -- Benchmarks: Rust throughput/latency/VQL complexity baselines |
| 80 | +- Benchmarks: Rust throughput/latency/VCL complexity baselines |
81 | 81 |
|
82 | 82 | ## FAKE-FUZZ ALERT |
83 | 83 |
|
|
0 commit comments