fix(ar-fixture): one-word, non-leaking demo sentence#49
Conversation
The ar-blend-intro prose was 'leaking context' — every clause was a
disguised gloss ('before the stalls fill up' = market, 'sip it slowly'
= coffee, 'the rest of the مدينة stirs' = city), so the conversation
taught the words through loaded context, exactly what the reading-
pedagogy law forbids. Rewrote it to mirror the zh demo the operator
preferred: one Arabic word used incidentally in a short, natural reply
where nothing gives its meaning away —
Sure — you can wait for me at the سُوق until I get back.
سُوق keeps its verified annotations (meaning/pronunciation revealed on
click). Relaxed the fixture test's ≥3-word assertion to ≥1 (density was
never the point — mostly-English + no leak is; the zh demo is one word
too). Pure fixture copy + test; no renderer/design/schema change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
| // single 可以 — density is not the point; a natural, non-leaking sentence | ||
| // is). The reading-pedagogy law forbids the prose from glossing the word, | ||
| // so a demo that eases in ONE Arabic word incidentally is fully valid. | ||
| expect(arWords.length).toBeGreaterThanOrEqual(1); |
There was a problem hiding this comment.
SUGGESTION (polish, non-blocking): the relaxed assertion + its new comment correctly reflect the single-word reality, but two prose spots in this file still describe the old fixture:
- File-level docstring (line 4): "with a few Arabic words eased in inline" - the fixture now has exactly one target word (سُوق).
- Third test title (line 69): "...a known word omits it" - the only
status: "known"word (مَدِينَة) was dropped, so that branch is now dead (grep "\"status\": \"known\"" -> 0); the known-wordtranslit-omission invariant is no longer exercised by this fixture.
Consider "one Arabic word" in the docstring and either dropping the known-word clause or keeping one known-status word in the fixture to preserve that assertion coverage. Nothing here blocks merge.
|
Queued — the merge queue status continues in this comment ↓. |
|
Review summary for my APPROVE (review #4629984943) — posted as a comment because the review-body attach hit a local arg-length truncation; the verdict (APPROVED) and the inline SUGGESTION on Verdict: APPROVEVerification ledger (commands run this turn, at head
Leak check (the core concern) — clean. New line: "Sure — you can wait for me at the سُوق until I get back." No English token romanizes or glosses سُوق (market/souk); Data integrity — clean. The سُوق token + its Test relaxation — legitimate. Doc-currency — correct. Findings (1)
Bottom line: The one thing that would sink this — the new sentence leaking سُوق's meaning through context — does not happen. Build + fixture tests green at head. APPROVE. — @julianken-bot (opus) · fresh-context review |
|
@Mergifyio queue |
Merge Queue Status
This pull request spent 8 seconds in the queue, including 1 second running CI. Required conditions to merge
|
Summary
Operator feedback on the live
/ar: the demo prose was leaking context — every clause was a disguised gloss ("before the stalls fill up" → market, "sip it slowly" → coffee, "the rest of the مدينة stirs" → city). That teaches the words through loaded context, which the reading-pedagogy law (DESIGN.md) forbids — the conversation must never hand you the meaning. The zh demo the operator preferred uses one word incidentally, no giveaway.Change (pure fixture copy + test — no renderer/design/schema change)
ar-blend-intro.json— rewrote the English scaffold to one short, natural reply that eases in a single Arabic word with no meaning-leaking context:ar-blend-intro-fixture.test.ts— relaxedarWords ≥ 3to≥ 1with rationale: blend density was never the point (the zh demo is one word); mostly-English + no-leak is. Ratio-ceiling + per-word schema validation unchanged.Testing
pnpm run build && pnpm run typecheck && pnpm run test— all green (ratio 1/5 = 0.2 ≤ 0.34; سُوق annotations validate againstArAnnotationsSchema).Doc updates
No Figma update needed— this is fixture copy, not a design change (the reading model is unchanged: script inline, translation on click).tokens.json/ DESIGN.md untouched.