Repository navigation
spec(automation): crm-story-reel -- lead magnet 2 from the client's face and own voice - #4850
Conversation
…ace and own voice Closes #4849 specs/automation/crm-story-reel.t27 (module automation::crm_story_reel) is the spec of record for the story reel of 999-multibots-telegraf: who qualifies (a face and a voice, nothing else), what each step costs the caller (8 / 12 / 16 per second / 2 tokens, 270 per reel, named before the press), how the job survives a redeploy (story_jobs, heartbeat, sweep, paid work never redone), and where the reel goes (one press of the owner, one pressable card per person, never displacing an unanswered one, never into a group on the client's own press; a service render waits for approval in the feed). It is the first spec the host generates from: `t27c gen-ts` of this file is vendored into the host and the host imports its numbers from it. Checked with the real compiler (t27c 0.4.0 from bootstrap, Zig 0.16.0): parse ok, spec-status IMPLEMENTED, test-report 11/11 pass, validate-vacuity 0 of 11 vacuous; a negative control with two asserts broken on purpose gives 2 FAIL. Seal saved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ScHVrGSr6zZUdwkdC8DR9k
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
|
Seven checks are red on this PR, and all seven are red on
I ran the spec gates behind them locally, once with this PR's three files moved aside and once with them in place, and diffed the output (table in the PR description). The only differences are +11 test blocks (the pin was already drifting) and +1 current seal. L1 traceability, the linked issue, NOW freshness, parse-ratchet and the GitGuardian scan are green. Generated by Claude Code |
Pull Request Checklist
spec(automation): ...Closes #4849docs/now/2026-09-27-crm-story-reel-lead-magnet-2-from-the-client-s-face-and-own.mdentry is added (written withtri now add ... --closes 4849)testblocks, executed byt27c test-report(11/11 pass).trinity/seals/automation_automation::crm_story_reel.jsonDescription
Closes #4849
This is the spec of record for the CRM story reel in
999-multibots-telegraf, lead magnet #2. It is a short vertical reel about the client's own business, built from:The reel is three scenes with a new setting in each and one line per scene in that voice. The scenes are lip-synced, cut together, and end on a pause with the call to action.
What the spec fixes, as constants plus pure functions that the tests exercise:
FACE_REQUIREDandVOICE_REQUIRED, nothing else. The clone is made only from the client's own voice notes and is kept per seller.google/nano-banana-edit);minimax/speech-02-turbowith the clone);kie/kling/ai-avatar-standard);price_estimate(3, 13) == 270, and that estimate is named to the caller before the press.VOICE_ON_KIE = false: Kie has no voice cloning, so the voice step has no fallback.story_jobsrows withBEAT_MS < DEAD_MS < SWEEP_MS,JOB_ATTEMPTS = 3, andPAID_WORK_REDONE_ON_RESUME = false.AUTOPILOT_SENDS_CARD = falseis stated plainly as not wired yet.Why it matters: the owner has said that t27 is the language everything is eventually rewritten in. Until now, 999 has cited specs only in comments, so nothing failed when code and spec disagreed. This is the first spec the host generates from:
t27c gen-tsoutput is vendored into the host, and the host imports its numbers from it. The host PR that does this follows.Changes
specs/automation/crm-story-reel.t27: the new spec..trinity/seals/automation_automation::crm_story_reel.json: its seal.docs/now/2026-09-27-crm-story-reel-lead-magnet-2-from-the-client-s-face-and-own.md: the entry.Testing
The tests can fail: in a negative control I broke two asserts on purpose (
price_estimate(3, 13) == 271,card_may_show(1)), andtest-reportreported 2 FAIL. The file was then restored.Review Notes
On this checkout, four spec gates are already red on
masterwithout this PR. I ran each one with the three new files moved aside and again with them in place, and compared the output:published_figures.py --checkcheck_seal_coverage.pycheck_seal_currency.pycheck_specs_generate.pyPipetoken in another spec)tri mods orphan --gateis clean.check_catalog_count.pyandcheck_catalog_integrity.pyare OK. Thedupe_scan.pyerrors name other functions (bytes_eq,digest_for, …) and none from this spec.φ² + 1/φ² = 3 | TRINITY
🤖 Generated with Claude Code
https://claude.ai/code/session_01ScHVrGSr6zZUdwkdC8DR9k
Generated by Claude Code