v0.258.0: the last four Hungarian things an English household met
gates / gates (push) Successful in 24s
gates / gates (push) Successful in 24s
R-589 the update badge, R-590 the data-folder backup sentence, R-573 the two channel banners, R-572 two dead helpers. All four were built in Go, which is why neither the template parity fixtures nor TestI18nEnglishPages could see them; slice 5's LIVE proof is what found them. R-590 is the one that matters most: it is a promise about the customer's files. It said, in Hungarian and under an already-English folder label, that a drop-zone is temporary and unbacked. The test now asserts the CONSEQUENCE in both languages — and that the two languages do not produce the same string, which would mean the English fell back. R-572 is not what its row said. The row claimed a template renders "vasárnap" on an English page; measured, NO template and no Go file called pruneLabel or nextPruneLabel. They were dead func-map entries returning Hungarian, so they are deleted rather than translated — translating dead code would add machinery with no reader and a test pinning a fiction. Deletion is fail-loud and that was proven: a template naming the removed function panics loadTemplates at startup. Five red-proofs. One of them says something about the gate rather than the code: the Go-parity gate does not measure localeFuncs keys against the base capture, so the citation to TestLocaleFuncsHungarianBundleMatchesFuncMap is what carries them — the test was extended to make that citation true. MinAgent: 0.131.0 (unchanged). Hungarian byte-identical. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -1,3 +1,52 @@
|
||||
## v0.258.0 — the last four Hungarian things an English household met (2026-09-20, R-589/R-590/R-572/R-573)
|
||||
|
||||
**MinAgent: 0.131.0** (unchanged). The Hungarian pages are byte-identical — the parity fixtures and
|
||||
the Go-parity gate both hold.
|
||||
|
||||
Slice 5's live proof found the residue this release clears: on an English app page the only
|
||||
Felhom-authored Hungarian left was a badge and a sentence about backups. Both are built in **Go**,
|
||||
which is why neither the template parity fixtures nor `TestI18nEnglishPages` could see them.
|
||||
|
||||
- **R-589 — the update badge.** `updateBadge` and `lifecycleBadge` gain bundle-backed forms in
|
||||
`localeFuncs`, reusing `compareInstalledToTemplate` and `EffectiveLifecycle` so **the decision
|
||||
cannot drift between the languages — only the words do**; the badge's `Class` is asserted equal
|
||||
across languages for the same stack. The Hungarian forms in `templateFuncMap` are untouched, which
|
||||
is the parity guarantee, and `TestLocaleFuncsHungarianBundleMatchesFuncMap` now pins that `hu.json`
|
||||
says exactly what they say — because `i18n_go_keys.json` cites that test for these keys.
|
||||
`lifecycleBadge` was not in the row; it is the same builder one function away, and leaving a known
|
||||
identical defect there would have been a choice.
|
||||
- **R-590 — the data-folder sentence, which is a PROMISE ABOUT THE CUSTOMER'S FILES.** It said, in
|
||||
Hungarian and under an already-English folder label, that a drop-zone is temporary and unbacked. An
|
||||
English household who cannot read it may leave originals in a folder the backup filter discards at
|
||||
every tier. `consequenceFor` takes its lookup as a parameter, and the test asserts **the consequence
|
||||
in both languages**: the excluded folder says temporary AND unbacked, a kept folder promises a
|
||||
backup, an unclassified one promises nothing, and the two languages do not produce the same string
|
||||
(which would mean the English fell back). The „%.1f GB szabad" free-space line went with it.
|
||||
- **R-573 — the two channel banners.** The checker already CLASSIFIES the fault, so the banner is
|
||||
keyed by that classification rather than by the sentence it happened to compose. The composed
|
||||
sentence stays as the **fail-open fallback**: an unmapped reason renders it verbatim rather than a
|
||||
blank banner or a raw key. These are the two most operationally important banners there are — the
|
||||
2026-07-25 outage (R-77) ran 17.5 hours with this banner as the only signal.
|
||||
- **R-572 — NOT what the row said, and the deletion is the finding.** The row said a template calling
|
||||
`pruneLabel`/`nextPruneLabel` renders „vasárnap" on an English page. Measured: **no template and no
|
||||
Go file called either.** They were dead func-map entries returning Hungarian. Translating dead code
|
||||
would have added machinery with no reader and a test pinning a fiction, so they are **deleted**.
|
||||
Deletion is the fail-loud direction, and that was proven rather than asserted: a template naming the
|
||||
removed function makes `loadTemplates` panic at startup with `function "pruneLabel" not defined`.
|
||||
`fmtDuration`, named in the same row, produces no Hungarian at all ("< 1s", "5s", "2m 3s") and is
|
||||
left alone.
|
||||
|
||||
**Red-proofs, each seen to fail and then revert:** the `updateBadge` override removed from
|
||||
`localeFuncs` (English read „Naprakész"); `MessageKey` dropped from the banner (English read the
|
||||
Hungarian sentence); the folder sentence hard-coded back to Hungarian (the English arm convicted on
|
||||
three assertions); one Hungarian byte changed in a badge key (the funcmap-equality test named both
|
||||
sides); and a template naming a deleted helper (startup panic).
|
||||
|
||||
**The fourth red-proof says something about the gate, not just the code:** the Go-parity gate did
|
||||
NOT convict that changed byte, because `localeFuncs` keys sit under `_preexisting` and are
|
||||
deliberately not measured against the base capture. The citation to the test is what carries them —
|
||||
so the test has to be real, and it is.
|
||||
|
||||
## v0.257.0 — the app catalog can speak English (2026-09-20, R-560 slice 5 Part A)
|
||||
|
||||
**MinAgent: 0.131.0** (unchanged).
|
||||
|
||||
Reference in New Issue
Block a user