Skip to content

ADR-012: A project dashboard with write actions ​

  • Status: accepted · Date: 2026-10-16

Context ​

ADR-002 keeps YAML as the only authoring surface and the per-episode studio writes only cues.json. Users who do not work in a terminal also expect a graphical entry point: creating episodes, adding a recording, starting renders and finding the results without a terminal.

Decision ​

reelforge studio serves a dashboard (localhost only) whose write actions are limited to project housekeeping, never scene data:

  • create an episode from the template (episodes/<id>/episode.yaml),
  • store an uploaded recording as the episode's voice file (converted to WAV with ffmpeg),
  • write draft cues when none exist,
  • start/cancel one render job, open the per-episode studio, open a folder in the file manager.

Security: bound to 127.0.0.1, Host/Origin checks on every request and WebSocket, JSON-only POST bodies (blocks HTML-form CSRF), every path resolved inside the project root, output files served only from out/, uploads capped at 1 GB and limited to audio extensions.

Consequences ​

Scene design stays in YAML (reviewable, diff-able). Non-technical users can run the whole workflow from the browser; the CLI remains the automation surface.