v-va*

VA.2026.008 · Floor 0 · service · hall 06

VA-Graph

collection Exnest VA Collection
accession VA.2026.008
classification Graph Engine · Traversal · Decay · TypeScript Library
floor Floor 0 · service
status on view
condition v1 · 188 pass · 11 e2e · file: wired · publish guarded
acquired 2026
revision Rev. B
drawing DWG-008
room 01 curator sheet 01 / 09 · rev Rev. B

“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


artist / curator
v-va
date
2026 — present (v0.0.1 · 5 commits · 20 Sep – 14 Oct 2026 · 6 phases complete)
status
on view
condition
v1 · 188 pass · 11 e2e · file: wired · publish guarded
medium
directed multi-weight edges · BFS traversal + Dijkstra · Ebbinghaus decay · VA-ORM persistence · Zod domain plugins · copy-paste packaging
phases
6
tables
3
domains
memory · spatial · economic
tests
188 + 11 e2e
scale target
~10k nodes
acquired
2026
revision
Rev. B
origin
distilled from memory, place, and ledger needs, 2026
room 02 evolution of this work sheet 02 / 09
2026

Phase 01 — Kernel

Directed nodes, multi-weight edges, stock records; in-memory store with cascade and cross-partition guards.

2026

Phase 02 — Traversal

BFS k-hop expansion, subgraph isolation, Dijkstra per-dimension and combined — no automatic normalization.

2026

Phase 03 — Persistence

Three VA-ORM tables with case-tolerant adapters; sentinel empty place keeps stock honest without NULL traps.

2026

Phase 04 — Domains

Memory, spatial, and economic plugins land as Zod-validated services — the same kernel, three strict dialects.

2026

Phase 05 — Decay & Scoring

Forgetting curves with per-edge half-lives, reinforcement caps, and atomic edge-plus-stock boundaries.

2026

Phase 06 — Packaging

Copy-proof folder with import-isolation test; v1 declared green — 188 unit plus 11 end-to-end.

2026

Phase 07 — Installed Elsewhere

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

room 03 original sketches sheet 03 / 09

curator annotations

on blindness

a kernel that knows the domain will one day betray it — keep it blind.

on weights

one edge, many numbers. the question chooses which number matters.

on travel

a folder that cannot be copied is a service with ambitions; this one copies.

fig. 01 — VA.2026.008.a the blind kernel TypeScript· store + traverse · live knows nodes and edges, never what they mean — meaning arrives as plugin.
fig. 02 — VA.2026.008.b the three tables schema· node · edge · stock · live one partition scopes a world; the rest is validation, not DDL.
fig. 03 — VA.2026.008.c the forgetting curve formula· half-life decay · tuned strength halves on schedule unless reinforced — capped, never immortal.
fig. 04 — VA.2026.008.d the traveling folder packaging· one folder · sealed copy three files and the engine moves — the isolation test proves it travels clean.
room 04 interface reviews sheet 04 / 09
fig. 05 — VA.2026.008.e remember and reinforce render memory.associate + reinforce — links strengthen with use, fade without it
fig. 06 — VA.2026.008.f connect two places render spatial.connect — a route with distance, duration, and cost in both directions
fig. 07 — VA.2026.008.g move stock atomically render economic.transfer — edge and stock commit together or not at all
room 05 catalog record sheet 05 / 09
materialsdirected multi-weight edges · BFS traversal + Dijkstra · Ebbinghaus decay · VA-ORM persistence · Zod domain plugins · copy-paste packagingdimensionsphases — 6 · tables — 3 · domains — memory · spatial · economic · tests — 188 + 11 e2e · scale target — ~10k nodes
conditionv1 · 188 pass · 11 e2e · file: wired · publish guardedacquired2026
revisionRev. Barchive locationDWG-008 · floor Floor 0 · service
internal referenceVA.2026.008/Morigindistilled from memory, place, and ledger needs, 2026
room 06 the archive sheet 06 / 09

failed experiments

✕ 2026

the shared visited set

one visited set erased undiscovered neighbors during expansion. split into expanded versus discovered.

✕ 2026

the snake_case drift

push wrote lowercase columns the reader did not expect. adapters now accept both cases; SQL stays unquoted.

✕ 2026

the half transfer

an edge without its stock on crash. closed with an atomic boundary in phase 05.

draft concepts

  • kernel blindness manifesto
  • three-table sketch
  • traversal dimension matrix
  • copy-travel checklist

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.

room 07 architecture · technical drawing DWG-008 · rev Rev. B
DWG-008 · Rev. B · floor plan — VA-Graph curator annotation — zones 03–05 are load-bearing; the presence layer must remain unshaded.
room 08 design statement sheet 08 / 09

I. Blindness is load-bearing

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.

II. Weights are plural

An edge between two things is never one number. Distance, confidence, strength, amount coexist; the query names its dimension and Dijkstra obeys.

III. Travel light

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.

room 09 related works & future vision sheet 09 / 09

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.