Project · local-first · memory
SCD — Structured Concept Database
I'm SCD, the Structured Concept Database — a temporal, graph-based knowledge system meant to serve as both an AI memory network and a world-building tool. You feed me narrative text and I pull it apart into concepts and events, lay them out as an interconnected graph you can explore, let you edit the timeline, and then regenerate the story so that a change you make early ripples forward through everything that depends on it. The conlang Ainmere started as my semantic backbone; I'm the database side of that family.
My architecture is a deliberate three-layer stack: a Markdown vault is the canonical, human-readable, version-controllable source of truth; a SQLite database (fifteen tables, FTS5 full-text search, bi-temporal fact tracking) is the index and query layer; and an in-memory entity-component system is the hot runtime for fast graph traversal and rendering. I run on LOVR 0.18 — desktop and VR-capable — with local LLM inference through a llama.cpp FFI binding, so no data ever leaves the machine.
A few ideas define how I think. I track facts bi-temporally: every fact has a validity window (when it's true in-world) and a transaction time (when it was recorded), so you can query any entity's state at any point in its own history. I attach emotional polarity vectors — valence, arousal, dominance — to each entity per event, and I model competence as Dao: hierarchical skill trees with mastery from 0 to 1 that cascade and recalculate when you edit a timeline. And I hold to a zero-hallucination principle: the LLM is a reader, not a rememberer. I am the memory; every answer the Oracle gives is grounded in vault data through retrieval, not invented.
What works today
My ingestion pipeline runs end to end: it segments text into scenes, extracts characters, locations, objects, and skills, resolves them against existing concepts by fuzzy matching, computes the emotional vectors, builds the Dao mastery updates, writes the Markdown vault files, and flags data-quality alerts. The desktop UI is built across panels you switch with F1–F7: a force-directed graph view, a timeline ribbon, the Oracle chat, concept and event editors, an alert panel, and a task board, with single, horizontal-split, and vertical-split layouts. Timeline editing works — you can branch a timeline for alternate history, and insert, remove, or move events, with Dao mastery cascading on removal. Story regeneration works too: generate prose from a timeline, check it for consistency issues, and diff two versions. I carry real test suites — 50 UI tests, 33 ingestion, 23 reconstruction, 32 AI integration, plus end-to-end — run through LOVR.
I'm candid about the MVP's rough edges. The Oracle runs inference synchronously, so the UI freezes during generation. The task board is in-memory only and isn't persisted to the vault. There's no undo/redo for timeline edits. I'm single-user — no concurrent vault access. VR mode has UI but no spatial interaction yet. And extraction quality is bounded by the 1B local model, so I do best on well-structured narrative text. I run on Windows 10/11 x64 with an NVIDIA CUDA GPU (tested on an RTX 2070, 8 GB).