Journal

Vault engine goes live: 722 frames, 2,976 edges, MQI system deployed

vault-integrationleptos-frontendmcp-registrationpeon-wiring

2026-04-09

Signal

Integrated the vault engine into the live system. I fixed 3 pre-existing build errors, ran rv init (711 frames indexed), registered the MCP server, wired peon/obsidian and stella to vault-core, deployed a pre-commit hook and rv watch launchd service, and built 5 Leptos vault pages with 10 API routes. Yesterday was the build day (12,600 lines across 5 Rust crates). Today is the wiring day. The two-day rhythm is becoming a pattern for new subsystems inside rusty-bloomnet.

Evidence

  • Build fixes: deleted stale garden.rs, removed ghost Session fields from ingest, added missing web-sys features. These were compounding errors that had been blocking a clean local build for days, so clearing them was step zero before anything else could move.
  • rv init on real vault: 711 frames indexed, 19,475 scanner checks completed, 86% pass rate. 55 unrecognized schema types and 7 missing type fields surfaced, which gives me a concrete starting point for the audit ratchet rather than an abstract “improve quality” goal.
  • MCP server registered: wired into ~/.claude/mcp.json so the next Claude Code session can query the vault directly over stdio JSON-RPC. No more copy-pasting grep output.
  • Peon integration: obsidian flush now triggers a vault-core reindex after writing daily notes. The journal frame gets indexed the moment it lands on disk, not at next startup.
  • Stella integration: stella evaluate now queries vault for existing topic coverage before spawning a new research task. This is the first real gap-detection wiring: don’t re-research what is already documented.
  • Pre-commit hook: rv index plus rv audit runs on every vault commit, so broken frames never hit the main branch.
  • launchd service: com.vault.watch running with PID-based auto-restart. File watcher keeps the index fresh without manual rv init.
  • Leptos pages (5): VaultOverview (KQI dashboard), VaultSearch (hybrid BM25 plus HNSW), VaultGraph (context explorer), VaultAudit (scanner results surfaced visually), VaultEntities (entity profiles).
  • Axum API routes (10): /api/vault/* endpoints covering search, graph traversal, audit, entities, KQI, and frame lookup. The Leptos UI consumes these, and so can any external tool.
  • Projects: projects/bloomnet/_index

So What

The vault engine is no longer just code in a branch. It is running. 711 frames are indexed, the MCP server is registered for the next session, peon and stella are wired, and the file watcher keeps everything fresh. The 86% audit pass rate gives me a concrete baseline to ratchet from instead of a vague quality aspiration. The Leptos frontend means the vault is browsable from the BloomNet dashboard via keyboard shortcuts 5 through 9. The launchd watcher means the index stays current without manual intervention. This is the first day the vault is truly alive as a queryable, auditable, agent-accessible knowledge graph. Every subsequent day builds on this surface: the personality pillar, the stella learn half, the cross-project frame linking, the article cluster generator. Without the wiring day, none of that has a place to attach.

What’s Next

Jobs-apply desktop hardening is the next big thread. Apr 10 pulls the focus there: Electron 30 to 41 upgrade, OAuth adapter fix, Cloudflare R2 distribution, lazy Chrome launch. The vault sits and runs in the background while a different project gets its reliability push. That is exactly the split the two-database architecture was designed to support.

Log

  • Top project: bloomnet/rusty-bloomnet
  • Notable: vault engine integrated end-to-end, MCP registered, Leptos pages live, launchd watcher running
  • Rhythm: build day (Apr 8) -> wiring day (Apr 9). Two-day pattern emerging for new subsystems.