🦞🎬 StoryFlow Implementation Plan & Roadmap

gantt
  title StoryFlow Β· First Ten Moves
  dateFormat YYYY-MM-DD
  axisFormat %d
  section Contract
    Move 1: packages/protocol zod envelopes :crit, p1, 2026-09-20, 1d
  section Under the hood
    Move 2: registry extension -> capabilities.yml :h1, after p1, 1d
    Move 3: shell β€” omp ps daemon + heartbeat :h2, after h1, 1d
    Move 6: grammar + film adapter :h3, after h2, 1d
    Move 8: QA + LEDGER phase :h4, after h3, 1d
    Move 10: first molt trailer harvest :h5, after h4, 1d
  section Face
    Move 4: gateway Bun rpc v2 bridge :crit, f1, after p1, 1d
    Move 5: face SvelteKit SPA :f2, after f1, 1d
    Move 7: panel WXT shell :f3, after f2, 1d
    Move 9: Agents + Approvals e2e :f4, after f3, 1d

1. The Ten Moves (Β§5 SSOT)

#MoveProof / AcceptanceStatus
1packages/protocol zod contractThe schemas parse the sample fixtures both halves consumePending
2Registry extension β†’ capabilities.ymlEmitted from live probes on this host (omp usage, omp models --json, bench, binaries)Pending
3Shell: omp ps-supervised daemonMessage the stub inbox β†’ live capability list comes backPending
4Gateway: Bun daemon + rpc v2 bridgeKill omp mid-run β†’ session resumes; 2 MiB frame arrives intactPending
5Face: SvelteKit SPA + daisyUI 5Headless browser walks all states; Β§4.1 ship gate greenPending
6Grammar + film adapter.omp/agents generated from roles.yamlPending
7Side panel: WXT shell on packages/uiA batch survives SW eviction; packages/ui Tailwind classes presentPending
8QA + LEDGER.md phaseFresh verifiers who never saw the build write the numbersPending
9Agents + Approvals via extension_ui_requestLogline β†’ grid fills β†’ approve β†’ Generate β†’ Gallery end to end on real omp authPending
10First moltTrailer β†’ harvest β†’ re-probe β†’ rerun; two LEDGER.mds diffedPending

2. Deliverable D-134 Task List

Phase 1: Wiki First

  • 1.1.1 mkdir -p evidence/2026-09-20-d134-storyflow-607b57d3; write started.json
  • 1.1.2 Confirm model roles and record in started.json
  • 1.1.3 Read CHEATSHEET.md and sum.yml fully
  • 1.1.4 Skim history/omp-sessions/ for context
  • 1.2.1 Create vault /home/loca/dev/wikis/stfl/ and quartz.config.yaml
  • 1.2.2 content/index.md β€” Overview
  • 1.2.3 content/bible.md β€” Β§1–§4 imported table-for-table
  • 1.2.4 content/plan.md β€” TaskList + Β§5 table
  • 1.2.5 content/architecture.md β€” repo layout Β§2.3, gateway↔omp rpc rules Β§2.4, protocol envelopes Β§2.5
  • 1.2.6 content/decisions.md β€” Β§4.3 refuter rulings + D-134 rules
  • 1.2.7 content/progress.md and content/verification.md
  • 1.3.1 Build wiki: /home/loca/dev/wikis/build.sh stfl
  • 1.3.2 Install nginx vhost /etc/nginx/sites-available/wiki.stfl.loca.zone, reload, certbot
  • 1.3.3 Verify with headless Chrome: screenshots under evidence/<run>/wiki/
  • 1.3.4 No app code until 1.3.3 passes

Phase 2: The Ten Moves

  • 2.1 Move 1: packages/protocol zod schemas
  • 2.2 Move 2: Registry extension β†’ capabilities.yml
  • 2.3 Move 3: Shell daemon + heartbeat
  • 2.4 Move 4: Bun gateway + rpc v2 bridge
  • 2.5 Move 5: Face SvelteKit SPA
  • 2.6 Move 6: Grammar + film adapter
  • 2.7 Move 7: Side panel WXT shell
  • 2.8 Move 8: QA + LEDGER.md
  • 2.9 Move 9: Agents + Approvals e2e
  • 2.10 Move 10: First molt
  • 2.11 Commit per move, update progress, rebuild wiki

Phase 3: Serve and Route

  • 3.1.1 Systemd user unit storyflow.service on port 7540
  • 3.1.2 Nginx vhost stfl.loca.zone
  • 3.1.3 Headless Chrome screenshots of face states
  • 3.1.4 Curl status checks (302 to Authelia)

Phase 4: Receipt and Signal

  • 4.1.1 Write result.json
  • 4.1.2 Final wiki sync
  • 4.2.1 Print completion signal
  • 4.2.2 tmux wait-for -S storyflow-d134-complete-644990c66a56474d064af437d87675e6