Skip to content

feat(crm-story-reel): v12 -- a contrast refusal names the shade of her colour that reads - #4940

Merged
gHashTag merged 1 commit into
masterfrom
feat/crm-story-reel-v12-readable-shade
Sep 27, 2026
Merged

gHashTag merged 1 commit into
masterfrom
feat/crm-story-reel-v12-readable-shade

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #4939

What

When her end card is refused for contrast, the answer used to give only the ratio. The seller had to guess a new colour and check again.

With v12 the answer carries end_card_fix. For each field that does not read, it names the smallest shade of her own colour that does:

  • Her colour is mixed toward white or toward black in SUGGEST_STEPS = 10 equal steps.
  • The way that reads in fewer steps wins.
  • On a tie, the extreme that reads better on that background wins (shade_way).

Law

  • A shade always exists: over any background, the better of white and black contrasts at least sqrt(21) = 4.58:1. That is EXTREME_MIN_CONTRAST_X10 = 45, and 45 passes end_card_readable.
  • A colour that is not #hex gets no shade (suggest_offered); it is still named back.
  • "Take" on the card is a press. It fills the fields and checks again, and keeping stays its own press (panel_take_offered, and panel_keep_offered after the edit).
  • Her profile's palette is named with its shade, and the reel still goes.

Verified

  • t27c test-report: 29/29 pass
  • validate-vacuity: 0 of 53 vacuous
  • Negative controls (tri spec-controls): 26/26 caught, 8 of them new for v12
  • Seal saved

The host binding lands in gHashTag/999-multibots-telegraf. The render computes the shade and runs the spec's vectors; the player's panelTakeOffered runs them too.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ScHVrGSr6zZUdwkdC8DR9k


Generated by Claude Code

…r colour that reads

A refusal for contrast named the ratio and stopped; the seller guessed a
colour and checked again. end_card_fix now names, field by field, the least
shade of her own colour that reads (toward white or black in ten steps,
shade_way), and one always exists (sqrt(21) = 4.58:1 over any background).
The card's take fills the fields and checks again (panel_take_offered);
keeping stays its own press. 29/29, 0 vacuous, 26/26 controls.

Closes #4939

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 15:54:03 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

Six checks are red on this PR, and none of them comes from this change:

coverage, Corpus ratchet (expected-failure ledger), Documented t27c subcommands exist, duplicate-bodies, emit-bitexact, spec-guards.

The same six were red on #4931 (v11, already merged), and none of them touches specs/automation/crm-story-reel.t27. The required check is green, as are the other 24 runs. There is no fix for these six to port into this PR yet.

Local gate for this spec:

  • t27c test-report: 29/29
  • validate-vacuity: 0 of 53 vacuous
  • tri spec-controls: 26/26 negative controls caught
  • seal saved

The host binding in gHashTag/999-multibots-telegraf runs the spec's vectors against the render and the player, with 40/40 host and 21/21 player mutations killed.


Generated by Claude Code

@gHashTag
gHashTag marked this pull request as ready for review September 27, 2026 16:09
@gHashTag
gHashTag merged commit 1ab12fb into master Sep 27, 2026
26 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 v12: a contrast refusal names the shade of her colour that reads

2 participants