i18n: Opus round 26 (134 files) + 88 fixes + fix unreproducible Tier-4 rubric - #398
Conversation
…0711) Tier-4 Opus deep-review round 26: 134 files, seed 20260711 (--max-leaks 2 --drift-focus --per-locale 8 --exclude-reviewed) over a 1237-file unreviewed pool. 134/134 reviewed, 0 agent errors. Verdicts: PASS 46 / MINOR_ISSUES 63 / FAIL 25. Opus coverage 3155 -> 3289 of 7276 (45.2%). NOTE: this round's issue rate (88/134 = 66%, FAIL 19%) is far above rounds 23-25 (~24%, FAIL ~2%) under identical tooling. Ruled out: prompt/sampler drift (unchanged since #370), section composition (r25 had 51/136 course files vs r26 52/134), and model change (r25 review runs wf_da53329c-274 / wf_6585cd4e-1a4 both ran claude-opus-4-8, same as r26). Cause still unexplained -- findings are being gauged before any remediation is scaled. Also commits the round 22-25 review JSONs (opus-20260703..20260710), which were never committed even though their verdicts were recorded into status.json. The June review JSONs are tracked; this restores the audit trail to that convention. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… rubric FIXES (88 files, 17 locales, Sonnet, 88/88 FIXED, 0 could_not_fix): Every non-PASS finding from round 26 (seed 20260711). A 5-way adversarial gauge gave 5/5 findings real (0 refuted), so all 88 were remediated. Representative: tl "sinasakal" (strangling) -> "sinasanay" (training); ar "الرمز الغليظ" (thick code) -> transliterated "رمز الغروس", restoring the gross=144 wordplay behind [[144,12,12]]; ar hedging restored on "should explain"; a duplicate untranslated EN bullet removed. Gates: lint 0/88 fail; 0 source-hash edits; 17/17 locales 0-stale/0-critical; known-mistranslations 0; wrong-language 0; smart-quotes-in-JSX 0; docusaurus build PASS on all 17 locales. RUBRIC FIX (.claude/workflows/opus-deep-review.js): The Tier-4 verdict was not reproducible because the prompt contradicted itself. Under --drift-focus the preamble said an isolated awkward phrase in a meaning-faithful file "is a PASS" and told the agent not to hunt polish/consistency, while the DEEP CHECKS ordered it to flag translationese and the rubric defined MINOR_ISSUES as exactly those non-misleading slips and FAIL as "any ... wrong domain terminology". Both instructions were live at once, so the verdict depended on which half the agent followed. Measured on 20 byte-identical files (0 changed since round 25): preamble live -> 20/20 PASS (round 25, 2026-07-05) preamble absent -> 1 PASS / 12 MINOR / 7 FAIL i.e. the two halves disagree by ~95 points on the same bytes. Fix: one discriminator -- "would this MISLEAD a learner?". FAIL = yes (drift/inversion/hallucination, a term that teaches a false concept, raw MT throughout); MINOR = no, but a native editor would still change it (calque, imperfect-but-recognizable term, within-file split, dropped qualifier, register slip); PASS = no, and nothing an editor would change. Binding calibration rules stop silent re-scaling: a single imperfect term is MINOR never FAIL; within-file inconsistency is MINOR however often it recurs unless the concept becomes unidentifiable; stiffness/calques never FAIL alone; defensible word-choice is not a defect. The focus note now explicitly defers to the rubric instead of overriding it. Consequence: PASS means "screened, no misleading defect found", NOT "certified clean" -- the 3,201 historical PASS verdicts were graded under the ambiguous rubric and are not comparable to verdicts made after this commit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reproducibility test completed (was 14/20, now 20/20)The 6 files lost to a session limit have been re-run in both replicas. Final numbers, two independent replicas over the same 20 byte-identical files under the fixed rubric:
The signal we act on is now 100% stable. Residual noise (~10%) is confined to the marginal "would an editor bother changing this?" call, which is an inherent judgement boundary rather than a prompt defect. So a single PASS/MINOR label still shouldn't be treated as authoritative — but FAIL is trustworthy, and that's what drives remediation. Sharpens the open flagSame 20 files, three graders:
The fixed rubric lands exactly where it should — between two artifacts. Real issues surface as MINOR; FAIL is reserved for genuinely misleading defects. But note what it says about the PASS label: of 20 files round 25 certified PASS, only 2 are genuinely clean. Extrapolated over ~3,201 PASS verdicts that implies roughly 160 FAIL-grade (misleading) defects and ~2,700 MINOR-grade sitting behind the label. n=20, so the FAIL rate is 5% ±5. This is the strongest evidence yet that PASS never meant "clean" — consistent with the "screened, not certified" decision, and it makes a future ~100-file audit of the PASS set worth considering if the label ever needs to carry weight. |
First full deep-review round on the reproducible post-#398 rubric. Seed 20260712, --max-leaks 2 --drift-focus --per-locale 8 --exclude-reviewed, 1103-file pool, 16 locales (de exhausted its --max-leaks 2 pool). Verdicts: PASS 45 / MINOR 80 / FAIL 3. The 2.3% FAIL rate confirms the rubric fix on a fresh sample — vs round 26's 19% under the ambiguous rubric, same corpus. Coverage 3289 -> 3417 of 7276 (47%). Gauge: 3/3 FAILs adversarially confirmed real AND FAIL-grade (no downgrades, unlike round 26's 4/5) — the calibrated rubric's FAILs match an independent skeptic's "does it mislead?" bar. The three: es/visualize-circuit-timing (fabricated recommendation + wrong link), ko/quantum-technology (gates-> circuits unit swap), pl/sqd-overview (non-negligible->negligible inversion). Fixes: all 83 non-PASS remediated by Sonnet (83/83 FIXED, 0 could_not_fix), 16 locales. Resumed once through a session limit (batch preserved 60, the 23 re-ran cleanly after reset). Gates: 83 files, +408/-407, 0 source-hash edits; lint clean (cs/classical- optimizers inline-fence is the documented EN-identical false-positive, builds fine); 16/16 locales 0-stale; known-mistranslations 0; wrong-language 0; docusaurus build PASS on all 16 locales. Also: workflow BATCH tuned 7->10->5->7 per user during the run (both templates); opus-20260712-partial.json (the paused-run cache) superseded by the full opus-20260712.json. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* chore(translation): preserve round-27 partial cache (75/128, seed 20260712) Round 27 was paused mid-run at 75/128 agents. The Workflow resume cache is same-session-only, so these verdicts are extracted from the run journal (last-wins by locale+file) into a durable, tracked JSON before the session can end. NOT recorded to status.json — this is a partial round, review_opus stays untouched until the round completes. First round graded on the reproducible post-#398 rubric. Partial tally (75 files, 10 locales): PASS 26 / MINOR 47 / FAIL 2. Resume options: - same session: Workflow({scriptPath: round27-opus-wf.js, resumeFromRunId: wf_22840af4-9e6}) — 75 replay from cache, ~53 run live. - new session (cache gone): re-run round27-opus-wf.js fresh (seed 20260712 is deterministic = identical sample), OR build a tail = full sample minus this file's (locale,file) keys, opus-run over just the tail, merge. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * i18n: Opus round 27 (128 files, fixed rubric) + 83 fixes First full deep-review round on the reproducible post-#398 rubric. Seed 20260712, --max-leaks 2 --drift-focus --per-locale 8 --exclude-reviewed, 1103-file pool, 16 locales (de exhausted its --max-leaks 2 pool). Verdicts: PASS 45 / MINOR 80 / FAIL 3. The 2.3% FAIL rate confirms the rubric fix on a fresh sample — vs round 26's 19% under the ambiguous rubric, same corpus. Coverage 3289 -> 3417 of 7276 (47%). Gauge: 3/3 FAILs adversarially confirmed real AND FAIL-grade (no downgrades, unlike round 26's 4/5) — the calibrated rubric's FAILs match an independent skeptic's "does it mislead?" bar. The three: es/visualize-circuit-timing (fabricated recommendation + wrong link), ko/quantum-technology (gates-> circuits unit swap), pl/sqd-overview (non-negligible->negligible inversion). Fixes: all 83 non-PASS remediated by Sonnet (83/83 FIXED, 0 could_not_fix), 16 locales. Resumed once through a session limit (batch preserved 60, the 23 re-ran cleanly after reset). Gates: 83 files, +408/-407, 0 source-hash edits; lint clean (cs/classical- optimizers inline-fence is the documented EN-identical false-positive, builds fine); 16/16 locales 0-stale; known-mistranslations 0; wrong-language 0; docusaurus build PASS on all 16 locales. Also: workflow BATCH tuned 7->10->5->7 per user during the run (both templates); opus-20260712-partial.json (the paused-run cache) superseded by the full opus-20260712.json. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
) Adds CONTRIBUTING-REVIEWS.md — a self-contained recipe an external contributor can point their own Claude Code instance at to run one Tier-4 deep-review round of a single locale: sample, review, gauge, fix, gate, PR. Budget-shaped (~40k tokens/file) so it soaks up spare weekly-budget tokens and stops cleanly. Also adds --locale to sample-deep-review.py. Without it every sample was drawn across all 17 locales, so two contributors running rounds concurrently would edit overlapping i18n/ subtrees. With it, a round touches one disjoint subtree. Contributor PRs are now structurally conflict-free: verdicts go to a new handle-namespaced translation/reviews/opus-<seed>-<handle>.json, fixes touch only i18n/<their-locale>/, and status.json stays a maintainer-only merge step (--record-opus after merge). The guide states the post-#398 single-discriminator rubric, tells the agent to stop and report rather than launch a fix wave if FAIL rate exceeds ~15% (the round-26 failure mode), and documents the known lint-translation.py code-fence false positive with the check-whether-EN-fails-identically test. Claude-Session: https://claude.ai/code/session_019WoWgAgEkQ69MLxPSgLGaA Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Round 26
Tier-4 Opus deep-review, seed 20260711 (
--max-leaks 2 --drift-focus --per-locale 8 --exclude-reviewed), 1237-file unreviewed pool. 134/134 reviewed, 0 errors. Coverage 3155 → 3289 / 7276 (45.2%).Verdicts: PASS 46 / MINOR 63 / FAIL 25 — far off rounds 23–25 (~105/27/2). That anomaly is what this PR ultimately explains.
88 fixes (17 locales)
All non-PASS findings remediated by Sonnet: 88/88 FIXED, 0 could_not_fix. A 5-way adversarial gauge (each skeptic told to refute, defaulting to refuted) returned 5/5 real, 0 refuted, so the findings were trustworthy even though their severity labels were not.
Representative:
tlsinasakal(strangling the next generation) →sinasanay(training) — fluent, grammatical, and a total inversionarالرمز الغليظ("thick code") → transliteratedرمز الغروس, restoring the gross = 144 wordplay that motivates[[144,12,12]]arhedging restored on "should explain"; duplicate untranslated EN bullet removedGates: lint 0/88 fail · 0 source-hash edits · 17/17 locales 0-stale/0-critical · known-mistranslations 0 · wrong-language 0 · smart-quotes-in-JSX 0 · docusaurus build PASS on all 17 locales.
The rubric fix (the important part)
The Tier-4 verdict was not reproducible, because the prompt contradicted itself. Under
--drift-focus:MINOR_ISSUES= exactly those non-misleading slips;FAIL= "any ... wrong domain terminology"Both were live at once, so the verdict depended on which half the agent followed.
Measured on 20 byte-identical files (0 changed since round 25, 0 overlap with the fixes above):
~95 points of swing on identical bytes.
Fix: one discriminator — would this MISLEAD a learner?
Plus binding calibration rules that stop silent re-scaling (a single imperfect term is MINOR never FAIL; within-file inconsistency is MINOR however often it recurs unless the concept becomes unidentifiable; stiffness never FAILs alone; defensible word-choice is not a defect). The focus note now defers to the rubric instead of overriding it.
Validation: two identical replicas under the fixed rubric
The signal we act on (FAIL) is now stable; residual noise is confined to the marginal PASS/MINOR call.
Consequence for the metric
PASS now means "screened, no misleading defect found" — not "certified clean." The 3,201 historical PASS verdicts were graded under the ambiguous rubric and are not comparable to post-merge verdicts. Per maintainer decision we are not re-reviewing them; fresh rounds target the ~4,000 unreviewed files instead.
ja/measuring-computational-cost.mdx) is FAIL-grade. Small sample, but if it generalizes it implies ~200 misleading defects sitting in the PASS set. Noted for a future decision, not actioned here.🤖 Generated with Claude Code