Skip to content

spec(crm-story-reel): v23 -- house marks read as a reader reads them (#5897) - #5898

Merged
gHashTag merged 1 commit into
masterfrom
claude/crm-story-reel-v23-house-marks
Oct 4, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/crm-story-reel-v23-house-marks

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator

What

crm-story-reel v23 restates HOUSE_MARKS: the detector that crm-story-reel v22 and split-reel v7 read on every line of a client's reel (999 render/src/house-names.ts, gHashTag/999-multibots-telegraf#3564).

Text v22 v23
write to t27ai not flagged flagged
the Russian name spelled with a Latin T not flagged flagged
our S3 AI pipeline flagged not flagged
I studied at Trinity College flagged flagged, on purpose

Rules

  • fold: the text and every mark are folded the same way: NFKC (S3AI with a superscript 3 is s3ai, full-width letters are their letters), invisible characters dropped (INVISIBLES_DROPPED), one case, each Cyrillic look-alike read as its Latin letter (FOLD_LOOKALIKES, LOOKALIKE_LATIN). One canonical form, so both directions fold.
  • code_mark: T27 starting a word is the brand (CODE_MARK_PREFIX: t27, t27ai, t27_ai, T27.ai), not after a letter or digit (at27, 5t27) nor before a digit (T270).
  • product_mark: the product is one code token (PRODUCT_ONE_TOKEN): S3AI and S3AIs are the house; S3 AI with a space is S3 the storage and the word AI.
  • name_mark: a name is the house inside a longer word (NAME_INSIDE_WORD: TrinityBot) and before any word (NAME_IN_ANY_CONTEXT). Trinity College stays flagged: no rule on the next word clears the college without also clearing "Trinity AI" and "Write To Trinity AI". The costs are asymmetric: a refused agent line is rewritten for free, while a missed one puts the house's name on a client's reel. Her own typed line is still hers (own_words).
  • no rule that clears a false positive clears a mark: Trinity, the Russian name, Trinity S3AI, T27 and @t27ai_bot stay flagged (test vector).

Checks (from command output)

  • t27c test-report: 60/60 pass
  • t27c validate-vacuity: 0 of 60 vacuous
  • tri spec-controls (999 binding): 93 of 93 caught, 9 of them new for v23
  • t27c seal --verify: all hashes MATCH
  • tools/dupe_scan.py: no new duplicate body, and none of the known groups grew

Host binding: gHashTag/999-multibots-telegraf, branch fix/house-names-v23.

Closes #5897

🤖 Generated with Claude Code

…5897)

The text and every house mark are folded the same way first: NFKC, invisible characters dropped, one case, each Cyrillic look-alike read as its Latin letter (FOLD_LOOKALIKES, LOOKALIKE_LATIN, INVISIBLES_DROPPED), so a Latin T inside the Russian spelling of the name is the house again.
code_mark: T27 starting a word is the brand (t27ai, t27_ai), not after a letter or digit (at27) nor before a digit (T270). product_mark: S3AI is one code token; "our S3 AI pipeline" names no house.
name_mark: "Trinity College" stays a house name on purpose -- no rule on the next word clears it without clearing "Trinity AI"; a refused agent line is rewritten for free, a missed one is on her reel.
60/60 spec tests, vacuity 0 of 60, 93/93 negative controls caught (9 new for v23); seal verified; dupe_scan: no new duplicate body.
Closes #5897
Refs gHashTag/999-multibots-telegraf#3564

phi^2 + 1/phi^2 = 3 | TRINITY

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 4, 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 4, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-04 04:36:31 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 45
PRs with All Checks Green 5
READY 4
FAILING 45
PENDING 0
NO CHECKS YET 0

These columns do not partition: 4 + 45 + 0 + 0 = 49, and there are 50 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 added the bee-reviewed A reviewer bee reviewed and verified this PR at its current head; the only merge signal (#5525) label Oct 4, 2026
@gHashTag

gHashTag commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator Author

Reviewer bee: approved (spec 0887fd3 / host 43ec939cb)

I ran my own probes with tsx against the real house-names.ts at 43ec939cb. Result: 0 failures.

Must be flagged namesHouse
write to t27ai true
спроси Tринити (Latin T) true
Тринити (pure Cyrillic) true
Trinity true
Trinity S³AI true
S3AI true
T27 true
@t27ai_bot true
t27_ai true
Три<ZWJ>нити true
ТRINITY (Cyrillic Te) true
T27 (full-width) true
Must pass namesHouse
our S3 AI pipeline false
at27 false
T270 false
two Russian sentences with р/с/о/е/у false
Тина, Привет, я Тина, пеку торты false

Per-line test (houseNameByAgent; the person typed Тринити, сделай Маше рилс):

Agent line Refused?
Напиши Тринити yes
Напиши Tринити yes
Пиши в t27ai yes
Маша печёт торты no
her own line, typed as she wrote it no (kept)

Gates

  • vitest (VITEST_MAX_WORKERS=2, --testTimeout=120000) on crm-story-reel, split-reel and a-template-stays-home: 3 files, 114/114 passed, rc 0.
  • tri mutants src/spec/crm-story-reel.mutants.json: 140 of 140 killed, rc 0.
  • Hand mutant if (letterAfter) return false: the probe fails on write to t27ai, vitest shows 3 failed / 67 passed (rc 1). Reverted with git; the tree is clean and --heal returns 0.
  • node scripts/check-t27-specs.mjs: 19 bound, every law holds, rc 0.
  • The vendored spec is byte-identical to t27 0887fd3. Both are sha256 b042ff61, which matches the seal's spec_hash.
  • All 60 spec tests have a binding it(). All 5 new v23 tests match their titles exactly.
  • The re-anchored story-template.ts mutant (profileCta(profile, owner === id) changed to true) still forces the own-reel flag in storySettingsOf. It tests the same thing as before and is not weakened.

CI

  • t27: 29 pass. The only red is spec-guards, and it is the known ring-096 drift.
  • 999: tri pr-billing reports 18 billing failures and 1 unknown. The unknown is GitGuardian's "Generic High Entropy Secret" on crm-story-reel.gen.ts line 410, which is the generated __DECL_ORDER__ list of identifier names. That is a false positive: no credential is involved.

@gHashTag
gHashTag merged commit 7943bc4 into master Oct 4, 2026
31 of 32 checks passed
@gHashTag
gHashTag deleted the claude/crm-story-reel-v23-house-marks branch October 26, 2026 05:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bee-reviewed A reviewer bee reviewed and verified this PR at its current head; the only merge signal (#5525)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

spec(crm-story-reel): v23 -- house marks read as a reader reads them

1 participant