Skip to content

spec(crm-story-reel): v21 -- a reel ordered by a topic stays in the studio - #5766

Merged
gHashTag merged 3 commits into
masterfrom
spec/crm-story-reel-v21
Oct 3, 2026
Merged

gHashTag merged 3 commits into
masterfrom
spec/crm-story-reel-v21

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 3, 2026

Copy link
Copy Markdown
Owner

What

specs/automation/crm-story-reel.t27 v20 -> v21. This PR is stacked on #5697 (v20). Merge that one first; GitHub then retargets this PR to master, 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_SCENE is now false.
  • 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.
  • The test "a script of one to six scenes ..." no longer asserts NEW_SETTING_EACH_SCENE. A new test pins all four setting_drawn vectors. VERSION is in its own test.

Checks

From 999's tri spec-check, with this branch's own t27c:

  • t27c test-report: 45/45 pass.
  • 0 of 45 vacuous.
  • 48/48 negative controls caught. Five are new: setting_drawn -> return has_setting, a caller's place dropped too, and each of the three constants flipped. The stale VERSION 16 -> 15 control is now 21 -> 20.
  • Sealed with this branch's t27c, tests: 45/45. A NOW entry is added.

Host: gHashTag/999-multibots-telegraf, writerMessages / parseStory in render/src/agent/story-template.ts, with the binding test and mutants.

Closes #5765. Refs #5697.

🤖 Generated with Claude Code

gHashTag and others added 2 commits October 3, 2026 15:17
…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>
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag changed the base branch from spec/crm-story-reel-v20 to master October 3, 2026 16:37
@gHashTag

gHashTag commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

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 specs/automation/crm-story-reel.t27 and .trinity/seals/automation_automation::crm_story_reel.json. The PR diff also lists the v20 NOW entry again. Fixing this needs a push to the author's branch, and a reviewer may not push, so the chain stops here and the host PR gHashTag/999-multibots-telegraf#3551 is not merged.

What the review found, for the author's next push:

  • The spec and the host agree. setting_drawn(from_writer, has_setting) = has_setting && (!from_writer || WRITER_WRITES_SETTINGS) matches settingDrawn in the host's story-template.ts. Each of the 45 spec tests has an it() with the same title. The vendored render/src/spec/crm-story-reel.t27 is byte-identical to head 497d04b.
  • The content after rebasing is unchanged. A three-way merge with spec/crm-story-reel-v20 as the base (merge-tree --merge-base) merges cleanly into master. The resulting tree's diff against master is exactly three files: the spec, the seal and the v21 NOW entry. All three are byte-identical to this head.

Fix (author, no force-push): merge origin/master into spec/crm-story-reel-v21 and resolve both conflicts by keeping this branch's side (checkout --ours for both files), then push. The PR diff will then be only those three files. Re-dispatch a reviewer after that.

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>
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-03 16:57:32 UTC

Summary

Status Count
Total Open PRs 47
PRs with Failing Checks 44
PRs with All Checks Green 3
READY 1
FAILING 44
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 44 + 0 + 0 = 45, and there are 47 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 3cea5b2 into master Oct 3, 2026
31 of 32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

crm-story-reel v21: a reel ordered by a topic stays in the studio

1 participant