docs: localisation slice 2 release A (controller v0.252.0) — R-557 progress, R-566 closed, R-572..R-574
gates / gates (push) Successful in 21s

10-localisation.md gains §10.1: the measured numbers (1 120 base literals, not 1 141; 226
converted), the flash-as-key design and why a key must be resolved by the READER, word order
through Go's explicit argument indexes rather than a second placeholder syntax, and the parity
gate that makes "byte-identical" a measurement instead of a reading.

Two claims the plan carried that live source disproved, both about the wire, both recorded:
the country table is NOT on the wire (only codes are), and the hub does NOT always compose its
own customer mail — it falls back to the controller's event message, which is why those 31
sentences stay Hungarian until R-558. That survey is handed to R-558 as its input list.

R-566 CLOSED (four app-named page titles now carry a %s). New rows R-572 (two funcmap helpers
with no English form), R-573 (the two channel-health banners arrive as finished Hungarian),
R-574 (handler_debug.go mixes page copy with payload).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-18 10:16:24 +02:00
parent 2bd6fbfac9
commit ea4f6ab340
3 changed files with 98 additions and 4 deletions
@@ -0,0 +1,26 @@
RED-PROOFS — localisation slice 2 release A (v0.252.0), 2026-09-18
Each line: what was broken, what convicted, restored green after.
1. scripts/i18n_go_parity.py — one byte added to a hu.json value
planted: hu.json "redproof.test" = "Érvénytelen kérés!" (base literal has no "!")
CONVICTS: CHANGED redproof.test / hu.json 'Érvénytelen kérés!' / base 'Érvénytelen kérés'
2. scripts/i18n_go_parity.py — a key citing text nobody wrote
planted: from = "Ez a mondat sosem létezett"
CONVICTS: INVENTED redproof.test cites text that is in no base-commit literal
3. scripts/i18n_go_parity.py — a joined key whose fragments were reworded
planted: from = ["Az alkalmazás (", ") törölve lett."] (neither fragment is a base literal)
CONVICTS: INVENTED ... 'Az alkalmazás ('
4. scripts/i18n_go_parity.py — its own scanner's blind spot, found by the gate IN USE
the first capture filtered by an ASCII-Hungarian WORD LIST and missed 7 real literals
("Naponta", "5 percenkent", "Eletjel (Heartbeat)", "Adatbazis mentes", "Biztonsagi mentes",
"Mentes integritas", "Rendszer allapot"). The gate refused the keys citing them. Fixed by
indexing EVERY literal; the word list is gone. NOT a planted decoy — a live catch.
5. internal/notify wire golden — one byte changed in an event message
planted: "Alkalmazás telepítve: %s" -> "Alkalmazás telepitve: %s"
CONVICTS: TestEventMessageWireTextIsFrozen/one_parameter, got vs want printed
6. internal/monitor wire golden — a wire warning translated
planted: warnFmtStorageUnavailable -> "Storage not reachable: %s"
CONVICTS: TestStorageWarningWireTextIsFrozen/unavailable AND TestStorageWarningFormatsAreFrozen
7. internal/web — a Server with no bundle field renders raw keys
planted: s.bundle() returns s.i18n unchanged (no i18n.Shared fallback)
CONVICTS: TestFlashOnAServerWithNoBundleField — showed "flash.share.enabled"