Skip to content

Measure glossary adherence across the estate — delivery is fixed, compliance has never been measured #154

Description

@mmcky

v0.23.0 fixed glossary delivery on both paths (#149, #146). What has never been measured, anywhere in the estate, is glossary adherence: given that the glossary reaches the model, how often does the output actually use it?

There is no general glossary audit issue in the estate. QuantEcon/lecture-python.zh-cn#201 audits one term in one edition; #133 covers coined terms that are not in the glossary, which is the opposite case; #136 is the audit workflow mechanism. Nothing measures compliance with the 357-term glossaries we ship.

Why it matters now rather than later

terminology is a gating category in verdict v2: a single minor terminology finding blocks auto-merge. So adherence failures do not merely produce slightly-off prose — they route correct-looking PRs to a human, and in Stage 4's shadow data they are indistinguishable from translation defects. The base rate that Stage 4 calibrates its floors against therefore includes an unmeasured adherence term.

This is the same shape as #148, one layer up: there, model error was laundered into a field treated as ground truth. Here, adherence failure is laundered into the terminology score.

Evidence that adherence is not guaranteed

From the v0.23.0 validation run (2026-07-23, harness, live translate forward with the fix in place):

The glossary was demonstrably delivered — ✓ Loaded built-in glossary for zh-cn — 357 terms — and the newly generated Chinese honoured 4 of 5 glossary terms present in the added source paragraph:

en glossary zh-cn model output
Matrix multiplication 矩阵乘法 矩阵乘法
Dominant eigenvalue 主特征值 主特征值
OLS 普通最小二乘法 普通最小二乘法
Kernel
Leontief Inverse 列昂惕夫逆矩阵 里昂惕夫逆矩阵

The miss is a variant transliteration — both forms appear in Chinese economics writing, but the glossary specifies one and the model produced the other. Mild in isolation; the point is that it happened at all, on a five-term sample, with the glossary in the prompt.

For contrast, the init path honoured 边缘分布 for Marginal distribution in 4 of 4 term-bearing lectures among the 37 seeded by lecture-python.zh-cn#196. So adherence is usually good — which is exactly what makes an unmeasured failure rate dangerous rather than obvious.

What an audit would establish

  1. A fleet-wide adherence rate, per edition and per language: for each glossary term appearing in the English source, does the translation use the specified rendering?
  2. Which terms fail, and whether failures cluster — transliterations of proper nouns (the Leontief case), terms with context-dependent senses (the 边缘/边际 case), or short common words where the glossary rendering is unnatural in context.
  3. A pre/post baseline, since everything translated before v0.23.0 may have been produced with no glossary at all on the forward path. Separating "never had the glossary" from "had it and ignored it" is the whole point, and only possible now that delivery is fixed.
  4. Whether any glossary entries are simply wrong or over-broad — a term the model consistently declines to use may be a glossary defect, not a translation defect.

Notes on approach

This is largely deterministic and cheap: intersect each glossary's en terms against the English source text, then check the aligned target for the specified rendering. No LLM calls needed for the measurement itself — the same technique that found the 邊际/边缘 fleet-wide counts and the 248-of-249 heading-map figure. An LLM pass is only needed to judge legitimate deviations (a term inside a code block, a quoted English phrase, a genuinely better contextual rendering).

Worth being careful about false positives: glossary terms that are substrings of other words, terms appearing in code or math, and context fields (economics vs probability) that make a single English term legitimately map to different renderings.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    infrastructureSubstantial CI / build / deploy / tooling / automation work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions