Skip to content

Write the report for whoever has to read it - #39

Merged
peopleworks merged 1 commit into
mainfrom
report-speaks-the-readers-language
Aug 5, 2026
Merged

Write the report for whoever has to read it#39
peopleworks merged 1 commit into
mainfrom
report-speaks-the-readers-language

Conversation

@peopleworks

Copy link
Copy Markdown
Owner

Closes #36.

The report addressed the document, not the reader. Its caveats — the part this project insists must be read, and the only part that limits the score — came out in English whatever the reader's language. A Spanish-speaking committee got the number and not the doubt.

The two languages stay independent. Quoted findings follow the analysed text; translating the sentence around a quoted English word produces neither language. Caveats and headings follow the interface. So report prose lives in its own resource keyed by interface language (report.{lang}.json) rather than in the rule packs — packs are selected by the analysed language and would have guaranteed the wrong one for exactly the teacher this is for.

It also fixes a bug, latent only because both current languages happen to have their own stratum. A language absent from the calibration corpus inherited the aggregate false-positive rate and the aggregate threshold, and the page announced it had been "analysed as English". Any figure this project prints must name the population it was measured on, and a page that goes to a disciplinary meeting must not state a fact that is false. No C# change was needed to trigger it: rule packs are JSON anyone can open a PR with.

Partial translations are the normal case. Each block that could not be carried is marked in the reader's language, with the total near the top. A language with no resource at all gets one notice rather than sixty markers — and is written in English rather than withheld. Refusing to render loses the evidence entirely, which is the outcome this feature exists to prevent: a teacher with two hundred essays and a button that does nothing is worse off than one holding a report they must read in English.

Translations pin a SHA-256 of the English source they translated. Change the English and the stale translation falls back visibly instead of quietly asserting something nobody re-read.

333 tests green. Verified by hand rather than assumed: both resources survive trimming in the published WebAssembly build, and the MCP server builds without warnings.

Contributed by Codex under the committee rule, reviewed and amended here.

🤖 Generated with Claude Code

The report addressed the document and not the reader. Its caveats — the part this
project insists must be read, and the only part that limits the score — were English
whatever the reader's language, so a Spanish-speaking committee got the number and
not the doubt.

The two languages are independent and stay that way: quoted findings follow the
analysed text, because translating the sentence around a quoted English word produces
neither language. Caveats and headings follow the interface. Report prose therefore
lives in its own resource keyed by interface language, not in the rule packs, which
are selected by the analysed language and would have guaranteed the wrong one for
exactly the teacher this is for.

Also fixes a bug that was latent only because two languages happen to have strata: a
language absent from the corpus inherited the aggregate false-positive rate and the
aggregate threshold, and the page announced it had been "analysed as English". A
figure this project prints must name the population it was measured on, and a page
that goes to a disciplinary meeting must not state a fact that is false. Nothing in
C# had to change for that to fire — the rule packs are JSON anyone can send by PR.

An incomplete translation marks each block it could not carry. A language with no
resource at all carries one notice instead of sixty markers, and is written in
English rather than withheld: refusing to render loses the evidence entirely, which
is the outcome this feature exists to prevent.

Closes #36.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@peopleworks
peopleworks merged commit 2fc57df into main Aug 5, 2026
4 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.

The evidence report is English-only, in a bilingual product

1 participant