spec(crm-story-reel): v21 -- a reel ordered by a topic stays in the studio - #5766
Conversation
…ions, the widget call, RU+EN The owner's hook reel of 2026-10-03 becomes TEMPLATE_HOOK_STUDIO: the source photo, four studio shots, a hook first, the person's own voice, captions, the pause and a call to @t27ai_bot. English lines live here; the host keeps the Russian ones. The CRM lists templates from the server and every line stays editable before the press. Every story reel carries yellow word-by-word captions heard from each clip's own soundtrack; a line whose word count matches is shown as written. The pause draws the call the way the reel widget does. 44/44 pass, 0 vacuous; controls on line_fits_chars and cta_card_shown caught. Closes #5691 Closes #5692 Closes #5693 Closes #5694 Refs #5690 phi^2 + 1/phi^2 = 3 | TRINITY Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tudio The writer of a topic reel was told "one NEW setting per scene, never repeat the background", so every reel the owner pressed for herself, and every reel a seller ordered by a topic alone, put the person in invented places and paid a still and a face check per scene -- while a seller's template stayed in the studio. NEW_SETTING_EACH_SCENE is now false. WRITER_WRITES_SETTINGS=false: the writer is asked for lines only. WRITER_SETTING_DROPPED=true: a place it returns anyway is dropped by code before the job keeps its scenes, not left to the prompt. setting_drawn(from_writer, has_setting): a place is drawn only when a caller names it in a script of their own. 45/45 pass, 0 of 45 vacuous; 48/48 negative controls caught, five new ones on setting_drawn and the three constants. Closes #5765 Refs #5697 phi^2 + 1/phi^2 = 3 | TRINITY Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
|
Reviewer bee: not merged. The content is fine, but the branch cannot be merged. #5697 (v20) was squash-merged as 622352d, and this branch still carries the original v20 commits (f19e546). After the retarget to master, GitHub sees the merge base as cdf6e45 (v19). The squashed v20 and this branch's v21 both edit the same lines, so the PR is CONFLICTING in What the review found, for the author's next push:
Fix (author, no force-push): merge |
The stacked v20 branch was squash-merged under this PR, so master holds v20 as one commit the branch does not know. Both conflicting files take the branch side: the reviewed v21 spec and its seal. Diff vs master is the same three files the reviewer checked. Refs #5765 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
What
specs/automation/crm-story-reel.t27v20 -> v21. This PR is stacked on #5697 (v20). Merge that one first; GitHub then retargets this PR tomaster, and the diff here is v21 only.The hole. The writer of a topic reel was told "one NEW setting per scene, never repeat the background". Every reel the owner pressed for herself, and every reel a seller ordered by a topic alone, put the person in invented places. Each scene paid for a still and a face check. A seller's template, meanwhile, stayed in the studio, so the same product behaved two ways.
NEW_SETTING_EACH_SCENEis nowfalse.WRITER_WRITES_SETTINGS = false: the writer is asked for lines only.WRITER_SETTING_DROPPED = true: if the writer returns a place anyway, code drops it before the job keeps its scenes. The rule does not depend on the prompt.setting_drawn(from_writer, has_setting): a place is drawn only when a caller names it in a script of their own.NEW_SETTING_EACH_SCENE. A new test pins all foursetting_drawnvectors. VERSION is in its own test.Checks
From 999's
tri spec-check, with this branch's ownt27c:t27c test-report: 45/45 pass.setting_drawn->return has_setting, a caller's place dropped too, and each of the three constants flipped. The staleVERSION 16 -> 15control is now21 -> 20.t27c,tests: 45/45. A NOW entry is added.Host: gHashTag/999-multibots-telegraf,
writerMessages/parseStoryinrender/src/agent/story-template.ts, with the binding test and mutants.Closes #5765. Refs #5697.
🤖 Generated with Claude Code