Deploy Superpowers brainstorm server as always-on systemd service (not per-session)
Decision
Deployed Superpowers visual brainstorm companion (server.cjs from plugin cache v5.0.5) as a persistent systemd service brainstorm.service bound to 127.0.0.1:17777 with persistent screen_dir at /root/aj-workspace/.brainstorm/screens/. Auto-cleansed by session-close Phase 2 (>24h) and cron at 04:00 daily (>7d).
Rationale
Every substantial dev session begins with brainstorming (per brainstorming-gate Hookify rule + Superpowers v5.0.5 pipeline mandate). Starting a fresh server per session adds latency and complexity, and every session leaves the same systemd restart work. Persistent service provides single stable URL, no port randomization, predictable screen_dir for subagents. The workspace is fundamentally for development work — treating the brainstorm server as infrastructure (like Traefik, Redis) rather than tooling aligns with the “core system architect” framing.
Alternatives Rejected
- Per-session spawn (original Superpowers design, start-server.sh invoked by brainstorming skill) — rejected: adds latency, lifecycle complexity, random ports prevent stable bookmarks. 2. Docker container — rejected: overkill for a 200-line Node script, adds image/volume/network overhead without benefit. 3. Traefik-exposed public URL — deferred: adds auth complexity (the server accepts UI selections without token), local 127.0.0.1 bind is sufficient for solo developer.
Outcome
Pending
Related
- openclaw
- 2026-04-04-oracle-001-self-architecture-analysis
- graphiti
- docker
- brainstorm-service-systemd-port-17777-always-on
- brainstorm-service-systemd-deployment-with-env-isolation
- brainstorm-server-inotify-systemd-persistent-deployment