v0.27.0
The second Malayalam native-review round is encoded, and every translator call now uses prompt caching.
Malayalam round 2 (#296, #297)
The editor of record reviewed functions on lecture-python-programming.ml#7 — 118 suggestion blocks on 118 of 123 Malayalam prose lines, all applied and merged. The round-1 rules held (no recurrence of below-deixis, ordinal, light-verb, -യുടെ or suffixed-English flags), so this release carries the new classes the round surfaced:
- Rules 18 → 24: terminal punctuation on every Malayalam paragraph (a colon before the cell, list or equation it introduces); sentence-initial capitalisation of retained-English words; the hortative teacher's voice (
നമുക്ക് … -ആം, neverനമ്മൾ … -ും); consistent accusative-നെand no additive-ഉംon list items; fixed renderings ("a given" →തന്നിരിക്കുന്ന, "consider" →നോക്കാം, "useful" stays English); the sandwich-sentence rule; three more English-retained connectives; and the maintainer's 2026-09-01 ruling that exercise statements with probabilistic or mathematical content stay English, hybrid sentences included (D-2026-09-01-ml-exercise-statements-stay-english). - Glossary v0.4.0 (61 → 77 terms): the ordinary words the editor kept moving back to English, the
line/linespin, and four everyday words he moved to Malayalam. - First deterministic ml lints in
ml_metrics.py(LINT, never FAIL): terminal punctuation, lowercase-initial sentences, banned renderings, a future-hortative watch — calibrated seed 24/19/16/6 → the editor's reviewed text 1/1/2/1. - Regeneration-checked: a fresh
claude-sonnet-5pass lands 17 of 26 signatures at the reviewed form; the two mechanical classes (punctuation, bullet capitalisation) under-deliver from prompt alone and are the case for a deterministic post-processing step (#260).
Prompt caching (#292, #293)
Translator prompts are split into a stable, cache_control-marked block (rules + glossary) and a volatile block (per-file instructions + content); repeat calls in a run read the 10–12K-token prefix at the cached rate. tokensUsed and input-tokens now exclude cached tokens — total prompt size is input + cache-creation + cache-read.
Also in this release
tool-review-injection/: certify the review gate by injected-defect catch rate (#285) — first run 72% M0-core catch rate.runReviewextracted fromsrc/index.tsand tested (#278, #169 slice 1).- E2E harness targets carry
.translate/config.ymlwith the productioneditors:block again (#275).
Full detail in CHANGELOG.md.