โ† Back to system overview
Subsystem deep-dive

The Command Center

The cockpit that runs the day: one FastAPI app reading the single task list, the calendar, and the vault, and surfacing them as a one-tap PWA. Far more sits under the four chips it gets on the overview.

0
API routers
0
Endpoints
0
Live panels
0
One-click skills
How it's wired
Inputs โ†’ backend โ†’ one-tap PWA

A thin FastAPI backend reads the same sources the rest of the system uses, with no separate database of record. The frontend is a single PWA that talks to the routers.

๐Ÿ“ฅ Inputsread live, no duplicate state
TASKS.md (the one list) Calendar (EventKit) Brain vault ~/Journal/feelings task-scheduler
โ†“
โš™๏ธ BackendFastAPI ยท localhost:7777
17 routers ยท 47 endpoints tasks_md parser (sections + tiers) osascript bridge (osa.py) SQLite (db.py)
โ†“
๐Ÿ–ฅ FrontendPWA ยท "CMD CTR" app
index.html + app.js + style.css 12 live panels one-tap from the dock
The surface
12 live panels

Each panel is backed by its own router. This is the part the overview compresses to a single "dashboard" chip.

๐ŸŸข Status pills

System health at a glance: services, graph freshness, git state.

status

โœ… Projects & tasks

TASKS.md rendered by section, tier-aware (scheduled vs secondary), collapse/expand per task.

projects ยท tasks

โšก Skill launcher

One-click run of every dashboard:true skill, with last-run timestamps.

skills

๐Ÿ“… Calendar

Today's events, with Start buttons wired onto Focus Block events.

calendar

๐Ÿ—“ Plan Tomorrow

Drives the task-scheduler to time-block tomorrow's schedulable tasks.

tasks

โœ๏ธ Capture

Quick-capture notes and a scratchpad straight into the Brain vault.

brain

๐Ÿ“ž CallConnor leads

The callconnor.com lead pipeline, viewable and editable inline.

callconnor

๐Ÿ’› Mood capture

Privacy-walled. Writes to ~/Journal/feelings, never rendered back or committed.

feelings

๐Ÿ“ˆ Recently done + sparkline

Completed items and a trailing-average accomplishment sparkline.

projects

๐Ÿ“Š Usage

Claude / API usage monitor so cost stays visible.

usage

๐Ÿ“ง Email triage

Surfaces triaged inbox state from the email-triage flow.

triage

๐ŸŒ… Morning data

Pre-warmed briefing cache so the first morning briefing hits instantly.

morning-data
The depth
The mechanisms that earn it

The robustness isn't the panel count; it's the careful machinery behind the buttons.

Self-regenerating #weekly tasks

Marking one done is a single atomic rewrite that completes it AND re-inserts a fresh copy dated to next Sunday. Cadence never drifts, and identity stays stable across regenerations.

One-click #exec Start

The Start button pastes the task's command verbatim instead of boilerplate. True one-click-then-Enter.

#blocked + โณ gates

Dependency and defer-until markers keep not-yet-actionable tasks out of the schedule without deleting them.

Drag-reorder, safely

Within-group reordering writes back through a strict permutation invariant, so a reorder can never silently drop or duplicate a task.

Dynamic skill enumeration

The skill row scans Brain/AI/Skills for dashboard:true frontmatter live (โ‰ค60s, no restart), so there are no hardcoded lists to drift.

Privacy-walled mood capture

Capture-only by design: the mood panel writes to the Journal and is never rendered, logged, echoed, or committed.

Completion sparkline

A no-denominator trailing average swept off the โœ… date. Momentum without vanity-metric noise.

Focus-block Start buttons

A durable AppleScript-safe marker is embedded in the event notes, so the button maps to the task with zero fuzzy title matching.

Operational lore
The deploy ritual

Hard-won gotchas, the kind of thing that only lives in a runbook.