May 16, 2026

Brain 2.0: Modular dashboard, MCP server, and voice pipeline overhaul

The brain dashboard received a complete ground-up redesign, replacing the monolithic 6

The brain dashboard received a complete ground-up redesign, replacing the monolithic 6.5K-LOC Bootstrap app with 13 modular vanilla JS files using an IIFE pattern and hash-based routing. The new shell features a collapsible sidebar nav, command palette (Cmd+K), dark/light theme toggle, session heartbeat, and responsive mobile layout, netting a reduction of over 5,400 lines of code.

A focused bug-fix pass landed across the brain panels: usage chart axis labels now extract HH:MM from bucket timestamps, the scheduler uses a consistent records-table layout, MCP input groups gain proper labels and read-only fields, and lists re-fetch after adding items to show new entries immediately. A post-review security sweep centralized 401 handling, validated sub-routes, fixed event listener accumulation, added a document delete confirmation, and patched an async race condition in the cognition panel.

The MCP server feature introduces a FastMCP endpoint on port 8462 so external agents like Claude Code can talk to Chalie via a single talk_to_chalie tool. Full ACT loop processing runs with per-agent channel isolation, policy-gated tools, and optional user disclosure. A new brain dashboard tab provides enable/disable toggle, port config, token generation with copy, and an External Agent subtab in Policies for per-tool control. E2E tests verify auth enforcement and tool listing.

Several MCP-related fixes followed: the disclosure flow now uses the full UserMessageProcessor instead of a context-wiped ScheduledPromptProcessor, ensuring personality and context are preserved. A 500-character truncation bug that caused “cut mid-way” responses was removed. Missing external-agent.json config was added, parameter validation errors are now clear and structured, and auto-generated tokens replace the previous placeholder. An agent-facing setup guide was written.

Voice processing received a pipeline overhaul to fix hallucinated transcriptions. Silero VAD now strips silence and noise, noisereduce applies spectral gating, and the deduplication sliding window widened from 6 to 20 words to catch full-sentence repetitions. A new post-processing step strips filler words and restores case-preserving contractions. Additionally, when VAD finds no speech regions, audio now passes through instead of being dropped entirely.

Chat UI bugs were resolved: the loading overlay no longer flashes on page load, the brain button uses a named window target, the attach menu closes on window scroll, the user sparkle SVG gets accessibility labels, and the task drawer shows 2-line clamped text instead of hard truncation. Task drawer cleanup removed dismiss buttons, the pulsing dot, and unused kind-dot indicators, with a theme-aware CSS variable pass to support light mode.

File uploads were refactored to flow through the ACT loop, eliminating a 300-second blocking poll. The frontend now sends raw file data over the WebSocket, and the backend processes uploads via ActDispatcher tool calls, generating policy enforcement and audit rows naturally. This removed over 270 lines of legacy code.

  • Brain dashboard modular redesign with sidebar nav and command palette, net -5,414 LOC

  • New MCP server exposes talk_to_chalie tool for external agents on port 8462 with full ACT loop processing

  • Voice deduplication sliding window widened from 6 to 20 words to catch full-sentence hallucinations

  • Removed 500-character truncation that caused “cut mid-way” responses in external agent disclosures

  • File uploads now flow through ActDispatcher instead of a blocking poll, removing 274 lines of legacy code

  • Centralized 401 handling across brain panels and added document delete confirmation for security review