VA.2026.008 · Floor 0 · service · hall 06
“memory fades, places connect, ledgers balance — all three are graphs wearing different coats.”
VA-Graph is a single engine for every state in the collection that is secretly a graph: a memory that decays, a map of places and routes, a ledger of agents and assets. Nodes carry identity, edges carry a record of weights — strength, confidence, distance, amount — and one stock table records what is physically held where. A single partition id scopes each world; the kernel never learns what a memory or a city is.
The kernel is deliberately blind. It stores, traverses, decays, and paginates — k-hop expansion, Dijkstra shortest path per weight dimension or combined, cascade deletes, idempotent upserts — while per-domain plugins supply the strictness: memory episodes and causal links, places and bidirectional routes, agents with transfers that must balance. Strictness moved from DDL into validation, so three domains share three tables without stepping on each other.
Distribution is a folder, not a registry: copy src/graph with its index and note, and the engine travels. An isolation check forbids the kernel from importing any domain, and persistence arrives through VA-ORM with an in-memory twin for tests. Forgetting is physics here — half-life decay with reinforcement caps — and stock moves atomically with its edge, so a crash cannot leave a transfer half-remembered.
VA.2026.008
VA-Graph
Graph Engine · Traversal · Decay · TypeScript Library
Directed nodes, multi-weight edges, stock records; in-memory store with cascade and cross-partition guards.
BFS k-hop expansion, subgraph isolation, Dijkstra per-dimension and combined — no automatic normalization.
Three VA-ORM tables with case-tolerant adapters; sentinel empty place keeps stock honest without NULL traps.
Memory, spatial, and economic plugins land as Zod-validated services — the same kernel, three strict dialects.
Forgetting curves with per-edge half-lives, reinforcement caps, and atomic edge-plus-stock boundaries.
Copy-proof folder with import-isolation test; v1 declared green — 188 unit plus 11 end-to-end.
Wired into another engine as a file dependency with a publish flow, then dependency refresh — the kernel starts living in other rooms instead of only its own.
concepts — kept & discarded
kept — one kernel, three tables, per-domain validation
rejected — per-domain tables and automatic normalization
held — ranking, community, and multi-tenancy wait for v1.1
archive ref — VA.2026.008/CON
cross ref — timeline fig. 01
curator annotations
a kernel that knows the domain will one day betray it — keep it blind.
one edge, many numbers. the question chooses which number matters.
a folder that cannot be copied is a service with ambitions; this one copies.
| materials | directed multi-weight edges · BFS traversal + Dijkstra · Ebbinghaus decay · VA-ORM persistence · Zod domain plugins · copy-paste packaging | dimensions | phases — 6 · tables — 3 · domains — memory · spatial · economic · tests — 188 + 11 e2e · scale target — ~10k nodes |
|---|---|---|---|
| condition | v1 · 188 pass · 11 e2e · file: wired · publish guarded | acquired | 2026 |
| revision | Rev. B | archive location | DWG-008 · floor Floor 0 · service |
| internal reference | VA.2026.008/M | origin | distilled from memory, place, and ledger needs, 2026 |
failed experiments
one visited set erased undiscovered neighbors during expansion. split into expanded versus discovered.
push wrote lowercase columns the reader did not expect. adapters now accept both cases; SQL stays unquoted.
an edge without its stock on crash. closed with an atomic boundary in phase 05.
draft concepts
research notes
— three tables beat three stores — one partition, three dialects, zero drift.
— normalization is a decision, not a default — combined weights stay raw until the caller chooses.
— isolation tests are packaging: the copy-proof is executable, not documentary.
The kernel stores and traverses and forgets; it never interprets. Interpretation is a plugin the caller brings — that is why three worlds fit in three tables.
An edge between two things is never one number. Distance, confidence, strength, amount coexist; the query names its dimension and Dijkstra obeys.
If the engine cannot move as a folder, it cannot serve a collection. Copy-paste with a passing isolation test beats a registry for v1.
within the collection
future vision
VA-Graph stays blind on purpose. Ranking, closeness, community detection, and per-place stock wait for v1.1 — but the promise holds: one kernel, three tables, every connection in the collection passing through the same quiet lattice.