This session designed and built brain-live — a real-time 2D/3D visualization of the "AI Dev Brain" (the workspace's markdown notes + [[wikilinks]]) that pulses a node the instant a file changes, so you can watch your AI agents work live. It started from an Obsidian graph screenshot and grew, one request at a time, into a feature-rich three.js app: click-to-inspect with live-rendered markdown, colour-by-attention/priority/domain/type/initiative, focus mode, search, pause, theme/branding, LAN access, hands-free auto-follow, and click-to-listen (TTS). Every feature was verified in a real browser via Playwright (0 console errors). The work was then versioned into two new private GitHub repos, a small council settled the strategic direction (5–0), and the first council-decided upgrade shipped.
Honesty note: this repo (valter-silva-au/workspace) is a fail-closed allowlist that ignores tools/, so this session's code does not appear in git status. The working-tree changes below (backlog +426 lines, TASK-00020…59, network-sync, schedule) are from concurrent sessions. This session's artifacts live in the gitignored tools/ (surfaced by the mtime scan) and in the two dedicated repos.
tools/gource/brain.sh) — combined workspace + wiki histories into one tree, rendered an MP4; fixed the Git-Bash cygpath path and the Windows drive-colon ${entry%:*} split bug.fs.watch → WebSocket pulses, prunes the 500k-file repos/ mirror), a 2D D3 view (/) and a stream-ready 3D three.js + UnrealBloom view (/3d). Wired task brain:*./note endpoint (traversal-guarded): chips, links/backlinks, and live-rendered markdown (marked + DOMPurify) with clickable in-body wikilinks and open-in-VSCode.backlog.yaml); node sizing by degree, breathing glow, synapse particles.space/r, sticky) and a theme/branding panel (preset + randomize + custom palette, accent, background, editable title) persisted to localStorage.type: with a domain: override.open-firewall.ps1 + task brain:lan (local-subnet only).a): hands-free camera that flies to whatever file is being edited live — "watch Claude work" — with the ambient heartbeat suppressed so only real edits light up./commit: discovered tools/ is gitignored and Taskfile.yml holds a secret, so versioned the work as two dedicated private GitHub repos and pushed over SSH./small-council (5–0 consensus): stay web + ship upgrades via agents + defer the game-dev hire / native rewrite; then shipped the first decided upgrade — click-to-listen (TTS).EADDRINUSE from a leftover verification server) and generated this report.| File / repo | What it is |
|---|---|
| tools/brain-live/server.ts | Zero-dep Bun HTTP+WS server: builds the note graph, watches the FS, broadcasts pulses, serves /graph + /note + radio; enriches nodes (mtime, ticket status/priority, initiative, category, domain); prints LAN URLs. |
| tools/brain-live/index-3d.html | The 3D view — three.js + bloom, 6 colour modes, inspect panel w/ rendered markdown + TTS, auto-follow, focus, search, pause, theme/branding, keyboard-driven. |
| tools/brain-live/index.html | The 2D D3 force-graph view (reading/navigating). |
| tools/brain-live/open-firewall.ps1 | Elevated helper: opens inbound TCP 8787 to the local subnet only (Private/Domain) so LAN devices can connect. |
| tools/brain-live/README.md | Full docs: run, views, colour modes, hotkeys, LAN, performance. |
| tools/gource/brain.sh | Gource git-history time-lapse wrapper (watch / render, SAFE mode) across both repos. |
| github.com/valter-silva-au/brain-live pushed | New private repo — the live visualizer (2 commits: initial + TTS). |
| github.com/valter-silva-au/brain-gource pushed | New private repo — the Gource time-lapse wrapper. |
| ~/.claude/…/memory/brain-viz-tools.md | Durable memory: what the tools are, how to run them, repo locations, gotchas. |
| File | Change |
|---|---|
tools/brain-live/* | Built new this session, then iterated across ~12 feature rounds (all committed to the brain-live repo). |
tools/gource/* | New this session; committed to the brain-gource repo (added state/+*.log to its ignore). |
Taskfile.yml unversioned | Added brain:live/open/stop/lan/gource/render tasks. NOT committed — the file holds a secret (deliberately gitignored). |
The git status changes in this repo (backlog.yaml, tickets/…, adr/, debt/, initiatives/) are concurrent sessions' adb work, not this session's — listed here only for transparency, not claimed. | |
brain-live + brain-gource) rather than in this workspace — the workspace allowlist ignores tools/ and Taskfile.yml has a secret.fs.watch on tools/ locks the dir against a move; not worth stopping the live server.adb was available. This session created/updated no adb tickets — the many TASK-00020…00059 entries in the working tree are concurrent sessions' work (content-agency, faceless-studio, omnictx micro-SaaS, Nina pipeline, etc.). Relevant but owned elsewhere: TASK-00028 (the ambient radio / 3D three.js fix) touches the shared radio component referenced above.
Fact sources used this run: git mtime scan adb (backlog) Playwright verification transcript (loose).