Skip to content

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) SUPERSEDED → 0053/0054/0055/0056
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) IMPLEMENTED
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) IMPLEMENTED
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) SUPERSEDED → 0058
0040 Pluggable object stores (GCS, Azure, and the versioning question) SUPERSEDED → 0058
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 IMPLEMENTED
0051 Run the studio on the toolkit: controls, transport, localca IMPLEMENTED
0052 Feeding operation outcomes back to the studio IN PROGRESS — layer 1 done, layer 2 not built
0053 A generated contract for the studio API: OpenAPI first, handlers from the spec IMPLEMENTED
0054 Studio UX contract: the behaviours keryx upholds for a human APPROVED
0055 CLI and MCP contracts: the commands, their effects, and the tools derived from them APPROVED
0056 The shared workspace contract: state on disk, storyboard rules, the social record APPROVED
0057 Font management: a floor that always renders, and typography that travels IN PROGRESS
0058 The object store carries kinds, not just reel media IMPLEMENTED
0059 The workspace schema version does something IMPLEMENTED

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.