Skip to content

feat(crm-story-reel): v7 -- the seller's palette at the end, kept in the job - #4908

Merged
gHashTag merged 1 commit into
masterfrom
claude/crm-story-reel-v7
Sep 27, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/crm-story-reel-v7

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #4907

What changed

v7 of specs/automation/crm-story-reel.t27 adds the seller's palette for the reel's end card.

  • Source order, field by field (end_card_field): the seller's word, then her profile, then the composition's default.
  • Defaults are spec constants. END_CARD_DEFAULT_* live in the spec, and 999-multibots-telegraf's StoryReel.tsx imports them.
  • The job keeps the seller's card (END_CARD_KEPT_IN_JOB), so a resume after a redeploy renders the same card.
  • Valid colours (hex_digits_ok): #hex of 3, 4, 6 or 8 digits. v6's host accepted 5 and 7, which CSS drops silently. A seller's colour that is not #hex is named back to him; a bad colour in her profile is dropped.
  • Readability (end_card_readable, end_card_refused): WCAG contrast of at least 4.5:1 for the call and for the button line. An unreadable palette the seller gave is refused before spending; a profile palette is only reported.

Evidence

  • t27c test-report: 24 tests, 24 pass.
  • validate-vacuity: 0 vacuous.
  • Four negative controls fail as expected: min 44, seller-refusal false, n >= 3 && n <= 8, profile-first order.
  • Seal saved.
  • Host binding in 999-multibots-telegraf: 10/10 host mutations killed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ScHVrGSr6zZUdwkdC8DR9k


Generated by Claude Code

…the job

One client's reel ended on the held last frame: her profile has no visual,
and the seller knew her palette with nowhere to say it. v7: end_card_field
(the seller's word, then her profile, then the default, field by field),
the defaults as constants the composition imports, the seller's card kept
in the job for a resume, hex_digits_ok (3, 4, 6 or 8 digits), and
end_card_readable / end_card_refused (WCAG 4.5:1 for the call and the
button; only the seller's own palette is refused, before spending).
24/24, 0 vacuous, four negative controls caught.

Closes #4907

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ScHVrGSr6zZUdwkdC8DR9k

phi^2 + 1/phi^2 = 3 | TRINITY
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-27 11:26:38 UTC

Summary

Status Count
Total Open PRs 40
PRs with Failing Checks 36
PRs with All Checks Green 4
READY 3
FAILING 36
PENDING 0
NO CHECKS YET 0

These columns do not partition: 3 + 36 + 0 + 0 = 39, and there are 40 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=403499176a5d != 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).

Copy link
Copy Markdown
Owner Author

Local gate. The 7 red checks are the ones red on master without this change, as noted in #4850, #4852 and #4890:

  • gate-topology
  • spec-guards
  • Documented t27c subcommands exist
  • Corpus ratchet
  • duplicate-bodies
  • coverage
  • emit-bitexact

This PR touches one spec, its seal and a NOW entry. Local results:

  • t27c test-report: 24/24.
  • validate-vacuity: 0 vacuous.
  • Negative controls: 6/6 caught (min 44, seller refusal off, 5- and 7-digit hex, profile over seller, cap slot 0, the money line). They were run on a copy with tri spec-controls in 999-multibots-telegraf.
  • Host binding: 10/10 mutations killed.

Generated by Claude Code

@gHashTag
gHashTag marked this pull request as ready for review September 27, 2026 11:37
@gHashTag
gHashTag merged commit d091a80 into master Sep 27, 2026
25 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 v7: the seller's palette at the end, kept in the job, refused before spending when unreadable

2 participants