Specs¶
Specs live in the project wiki, not in this repository.
A spec is a point-in-time decision record — written once, true of a moment, read
later for its conclusions. Keeping them here buried the living documentation they
sat beside, so they moved. Contributor guides, engineering standards and testing
conventions stay in docs/, because those change with the code.
| Spec | Title | Status |
|---|---|---|
| 0001 | keryx — design spec | DRAFT |
| 0002 | keryx — interface contracts (CLI, web UI, MCP) | DRAFT |
| 0003 | keryx — video panels (deferred feature spec) | APPROVED · blocked |
| 0004 | keryx — long-form video & in-browser capture (future directions) | DRAFT |
| 0005 | keryx — reel theme comparison (feature spec) | DRAFT |
| 0006 | keryx — avatars (the author as an actor in the reel) | IMPLEMENTED |
| 0007 | YouTube (Shorts) publisher + auth | IMPLEMENTED |
| 0008 | TikTok publisher + auth | IMPLEMENTED |
| 0009 | LinkedIn publisher + auth | IN PROGRESS · blocked |
| 0010 | auth refresh (token rotation, expiry alerting) | IN PROGRESS · blocked |
| 0011 | studio (local web UI) | IN PROGRESS |
| 0012 | studio remote-git projects (R-GIT-⅖) | IMPLEMENTED |
| 0013 | studio generation: per-card media + cover + portrait (R-UI-29/3) | IMPLEMENTED |
| 0014 | studio per-project config & themes (R-CFG-1, project layer) | IMPLEMENTED |
| 0015 | studio Phase 2: preview & produce + publish (scope & plan) | APPROVED |
| 0016 | studio audio takes: VO + music audition & select (R-UI-9) | IMPLEMENTED |
| 0017 | studio render & preview: silent draft + full reel (R-UI-8/11) | IMPLEMENTED |
| 0018 | studio networked-exposure auth: the server gate (R-API-3) | IMPLEMENTED |
| 0019 | studio publish cockpit: compose · approve · post (R-UI-19/25/27/12) | IMPLEMENTED |
| 0020 | keryx reel make: one-command reel orchestration |
IMPLEMENTED |
| 0021 | In-memory render: lift the render local-only gate | IMPLEMENTED |
| 0022 | Voice configurability: model, pronunciation dictionary, per-line pronunciation | IMPLEMENTED |
| 0023 | Voice take workflow: subset re-roll + take screening | IMPLEMENTED |
| 0024 | reel plan: VO-driven timing + pre-build sanity |
IMPLEMENTED |
| 0025 | Locked/reviewed assets: approved, reproducible reels | IMPLEMENTED |
| 0026 | Render progress: true percentage streaming | IMPLEMENTED |
| 0027 | Studio HTTPS + the Secure gate (trusted-TLS consumption) |
IMPLEMENTED |
| 0028 | Studio Svelte decomposition (componentisation + state extraction) | IMPLEMENTED |
| 0029 | Studio UI restyle (cleaner, more modern) | IMPLEMENTED |
| 0030 | Studio live VO recording (manual take, from the script) | DRAFT |
| 0031 | Studio spend ledger, Spend & quota panel, and spend guard | IMPLEMENTED |
| 0032 | Studio AI assistant (conversational, context-aware, action-taking) | DRAFT |
| 0033 | Studio post-first reels (content-driven reel management) | IMPLEMENTED |
| 0034 | Studio project settings (themes · avatars) + the Reel tab | IMPLEMENTED |
| 0035 | Adopt go/config for .keryx.yaml (structure-preserving writes) |
IMPLEMENTED |
| 0036 | Studio theme editor (rgba palette + full type-scoped theme controls) | IMPLEMENTED |
| 0037 | Studio settings IA (typed panels + YAML advanced view) | IMPLEMENTED |
| 0038 | Reel text layout (positioning + multiple text blocks per scene) | IN PROGRESS |
| 0039 | Media object store (S3-backed workspace media, git-tracked authored state) | IMPLEMENTED |
| 0040 | Pluggable object stores (GCS, Azure, and the versioning question) | IMPLEMENTED |
| 0041 | Discard a bad generation (studio), with an undo window | IMPLEMENTED |
| 0042 | Where platform secrets live (user scope, and the project-store blind spot) | IMPLEMENTED |
| 0043 | A keychain backend for phpboyscout/go/config |
APPROVED · blocked |
| 0044 | Card mode resolution (why illustrations never render) | IMPLEMENTED |
| 0045 | Anchored sequence generation (visual continuity across panels) | IMPLEMENTED |
| 0046 | Theme scopes: get themes out of the seed | IMPLEMENTED |
| 0047 | One theme list: aesthetic in config, format from the target | IMPLEMENTED |
| 0048 | One resolver: stop assembling the layer stack per call site | IMPLEMENTED |
| 0049 | Render history: keep renders, and choose which one ships | DRAFT |
| 0050 | Scene composition: cover as illustration, silent scenes, manual timing, scrim control | APPROVED |
| 0051 | Run the studio on the toolkit: controls, transport, localca | APPROVED |
Referring to a spec¶
By number and name — "0020, the explainable-cull spec" — never by date. The number is a stable handle; a date is not something anyone remembers.
Writing a new one¶
Claim the next number first, then draft against the canonical shape. See the
spec-driven-development skill in the phpboyscout marketplace.