Localisation slice 5 CLOSED: the catalog speaks English and the floor is at 0.257.0
gates / gates (push) Successful in 27s
gates / gates (push) Successful in 27s
Part C shipped the same day the pilot was read: fifty apps in three pushes, 1 031 of 1 032 strings. The English Apps list shows ZERO Hungarian app descriptions across all 53 apps — the only Hungarian left on it is the "Naprakész" badge (R-589) and the language picker naming itself, which is correct. The Hungarian Apps list is identical to the pre-slice capture once the per-session CSRF token AND Docker's own "Up N hours" container string are normalised. Both normalisations are stated in the evidence rather than applied quietly — the second one moved because two hours of wall clock passed between captures, not because any copy changed. Fleet floor raised to 0.257.0 with the declared MinAgent 0.131.0, above the vouched golden so the declaration carries it. demo-felhom went 0.255.0 -> 0.257.0 by itself in under 12 seconds and THEN rendered the English tagline: the floor delivered the feature, not a version string. Rows: R-593 (papra describes a session-signing key as "the app's subdomain" — the one string left untranslated) and R-594 (the catalog gate can convict a retrieval promise but has no way to REGISTER a true one, which the shared vocabulary's design calls for). R-560 closed. 281 -> 287 rows. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -259,7 +259,7 @@ on another, and both matter to the gate:
|
||||
|---|---|---|
|
||||
| copy strings | 835 | **1 032** (incl. 13 placeholders the table omitted, and every ASCII label) |
|
||||
| with a Hungarian letter | 832 | **832** ✔ |
|
||||
| ASCII-ONLY Hungarian | „Igen", „Nem", „Nincs" — three | **~120**, and those three do not occur at all |
|
||||
| ASCII-ONLY Hungarian | „Igen", „Nem", „Nincs" — three | **~120**. Those three do not occur; the three ASCII-only OPTION labels are „Magyar", „Angol", „Magyar + Angol" — language names, not yes/no words |
|
||||
|
||||
The ASCII-only count is the one that decides an instrument: „Aldomain" (53×), „A szerver domain neve"
|
||||
(53×), „Jelentkezz be: …" (5×), „Magyar", „Angol", „Titkos kulcs", „Oszd meg a linket". **An
|
||||
@@ -674,6 +674,47 @@ R-592 (three defects inside the new gate, each found by its own decoy).
|
||||
|
||||
**Evidence:** `documentation/audits/i18n-slice5-2026-09-20/`.
|
||||
|
||||
**PART C SHIPPED THE SAME DAY.** The operator read the pilot's English and said go, so the other
|
||||
fifty followed its voice in three pushes — 17, 17 and 16 apps; 319, 317 and 306 strings. **1 031 of
|
||||
the catalog's 1 032 customer-facing strings now carry an English twin.**
|
||||
|
||||
**[DESIGN, decided by CC] The blocks are GENERATED from a flat `{path: english}` map, not
|
||||
hand-written.** Fifty nested blocks whose keys must match the Hungarian side exactly is fifty
|
||||
chances to mistype an `env_var` — and **a mistyped key is INERT on the box, not an error**, so the
|
||||
translator never learns. The generator builds from the same flat paths the freeze uses, which are
|
||||
derived from the Hungarian file itself, so a key that does not exist on the Hungarian side cannot be
|
||||
written at all. The review then happens on the map, where one line is one string, instead of on
|
||||
YAML indentation.
|
||||
|
||||
**[FACT] The one string left untranslated, on purpose.** papra's
|
||||
`deploy_fields[AUTH_SECRET].description` reads „Az alkalmazás aldomainje" — the sentence that belongs
|
||||
on `SUBDOMAIN`, sitting on a session-signing key (R-593). §1 forbids changing the Hungarian in a
|
||||
localisation release, and translating a wrong sentence faithfully would ship the error in a second
|
||||
language. So it falls back. **That is why `EN_MISSING_CEILING`'s floor is 1 rather than 0, and it is
|
||||
written into the ceiling's own comment** so a later session does not "reach zero" by editing
|
||||
Hungarian.
|
||||
|
||||
**[FACT] Measured on the English Apps list, all 53 apps: ZERO Hungarian app descriptions.** The only
|
||||
Hungarian left on that page is the „Naprakész" badge (R-589, ten occurrences) and the language
|
||||
picker naming itself. The Hungarian Apps list is identical to the pre-slice capture once the
|
||||
per-session CSRF token and Docker's own „Up N hours" string are normalised.
|
||||
|
||||
**[FACT] The gate convicted two of the translator's own sentences and was HALF right.** Vaultwarden's
|
||||
invite step ended „…can open an account", and the English retrieval-promise pattern reads `can …
|
||||
open` as the claim that sealed backups can be opened. Opening an ACCOUNT is not that claim, so the
|
||||
conviction was a false positive — and the wording was also the weaker wording, so it became „can
|
||||
sign up". **But the gate has no way to REGISTER a true occurrence**, which the shared vocabulary's
|
||||
own design calls for; R-594.
|
||||
|
||||
**[FACT] The fleet floor was raised to 0.257.0** the same session (operator asked), `min_agent`
|
||||
0.131.0 declared — above the vouched golden 0.246.0, so the declaration is what carries it (R-472).
|
||||
Hub: `managed floor SERVED for demo-felhom: floor 0.257.0, agent requirement "0.131.0" from declared
|
||||
(golden 0.246.0)`. **demo-felhom went 0.255.0 → 0.257.0 by itself in under 12 seconds**, healthy,
|
||||
its own log reading `settle-gate: GO — at/above floor 0.257.0`, and it then rendered the English
|
||||
tagline — the floor delivered function, not just a version string. Peti's box and tester-1 are DOWN
|
||||
and take it unattended when they return; untested on this version.
|
||||
|
||||
|
||||
## 11. Operator decisions
|
||||
|
||||
These are rulings, not proposals. Anything specced against a different assumption is wrong.
|
||||
|
||||
Reference in New Issue
Block a user