Rubric Second Brain (workspace map + brain.js)

Installed 2026-08-05 (session 71). Third-party resource from RoboNuggets (CC BY 4.0), adapted for the VPS.

What it is

  • Workspace map at http://localhost:5210 — force-directed graph of memory files, mostly-vault notes, local Claude skills, all 60 scheduled routines (system cron + ARQ scheduler + Kilroy jobs), 13 live app connections, and 3 agents (Kilroy/Friday/Shepherd). Runs as systemd rubric-brain.service, binds 127.0.0.1 only. Access from Windows via SSH tunnel ssh -L 5210:localhost:5210 claude@72.61.12.199.
  • brain.js at /opt/rubric-brain/brain.js — zero-token deterministic recall/store over the Claude memory dir (recall = index-hop search, ~6ms; store = convention-correct memory file + index line).

Key decisions

  • Workspace root is a symlink dir /opt/rubric-brain/workspace/ (CLAUDE.md, memory, vault → /data/mostly-vault, skills); scan.js patched (~15 lines) to follow symlinks with a realpath cycle guard — the only engine edit.
  • Five departments: Pipeline & Field Ops, Portal & Services, Finance, Infrastructure & Integrations, Knowledge & Decisions (catch-all).
  • Apps list excludes dead connections (SmartSuite, Xero, Google Calendar). No iconSlug used → no browser CDN fetches; missing brands drawn as custom stroke glyphs in _icons.js.
  • config/routines.json is generated by /opt/rubric-brain/tools/gen-routines.py from crontabs + scheduler.py + ~/.hermes/cron/jobs.json — rerun after any cron change, then Rescan.
  • CLAUDE.md wired with README defaults (recall-first for stored facts, store as default save path; hand-write rich memories). Kilroy SOUL.md wired recall-only — no store for Kilroy.

Related: shepherd-report-dir-mount, portal-username-case-insensitive