8e9401c6bf
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
80 lines
4.6 KiB
Markdown
80 lines
4.6 KiB
Markdown
# Localisation slice 5 — the app catalog's own words (R-560), 2026-09-20
|
||
|
||
Controller **v0.257.0** (the read path) + the catalog **pilot**, then — after the operator read the
|
||
pilot and said go — **all fifty remaining apps in three batches**, and then **the fleet floor raised
|
||
to 0.257.0**. 1 031 of the catalog's 1 032 customer-facing strings are English.
|
||
|
||
Method: **endpoint-level**. No browser is available on DooPlex, so every page below was fetched with
|
||
`curl` from inside the guest at the controller's container address, with the customer `Host` header
|
||
and a real logged-in session — the same handlers and the same templates the browser drives, with only
|
||
the rendering skipped. Said plainly because a claim of "the page shows X" has to name how it was seen.
|
||
|
||
## What is here
|
||
|
||
| path | what |
|
||
|---|---|
|
||
| `B/live/cap-before/` | demo-hp guest 9201 on **0.257.0**, BEFORE the pilot push — 7 pages × hu/en |
|
||
| `B/live/cap-after/` | the same 7 pages × hu/en AFTER the push and a forced template sync |
|
||
| `B/old-controller/old-before/` | demo-felhom guest 9201 on **0.255.0**, before the block reached it |
|
||
| `B/old-controller/old-after/` | the same, after the block reached it (sync confirmed positively) |
|
||
| `B/hungarian-parity.txt` | the before/after comparison of every Hungarian page |
|
||
| `B/english-leftovers.txt` | the accent + ASCII-folded scan of every English page, with its controls |
|
||
| `C1/b1-before/`, `C1/b1-after/` | four batch-1 apps × hu/en, around that push's sync |
|
||
| `C3/final/`, `C3/final2/` | after the LAST batch: the whole Apps list in both languages, and five batch-3 apps |
|
||
|
||
## Part C, and the floor
|
||
|
||
**The English Apps list shows ZERO Hungarian app descriptions, across all 53 apps** (`C3/final/`).
|
||
The only Hungarian on that page is the „Naprakész" update badge (R-589, ten occurrences) and the
|
||
language picker naming itself, which is correct — a picker names each language in its own tongue.
|
||
|
||
**The Hungarian Apps list is identical to the pre-slice capture**, once two things are normalised:
|
||
the per-session CSRF token, and Docker's own „Up N hours" container-status string, which moved
|
||
because two hours of wall clock passed between the captures. Nothing else differs. Both
|
||
normalisations are stated here rather than applied quietly.
|
||
|
||
**The floor was raised to 0.257.0** with `min_agent` 0.131.0 declared — above the vouched golden
|
||
0.246.0, so the declaration is what carries it. Hub log: `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, `settle-gate: GO — at/above floor
|
||
0.257.0`, **and then rendered the English tagline**. Peti's box and tester-1 are DOWN and take it
|
||
unattended when they return.
|
||
|
||
## The three results of the pilot phase
|
||
|
||
**1. The English pages show the English catalog text.** privatebin's tagline, use cases and first
|
||
steps, paperless-ngx's select options and folder label, romm's optional-config group — all English on
|
||
`?lang=en`.
|
||
|
||
**2. The Hungarian did not move.** All seven Hungarian pages are byte-identical before and after the
|
||
push apart from the per-session CSRF token. Equal raw byte counts, equal hashes once the token is
|
||
normalised. That is §1 of `architecture/10-localisation.md`, measured rather than read.
|
||
|
||
**3. An older controller ignores the block.** demo-felhom runs 0.255.0. Its pages hash identically
|
||
before and after, and its log shows no parse warning — **in a 93-line window that contains the sync's
|
||
own lines**, so the absence is evidence and not a dead log.
|
||
|
||
## What is still Hungarian on an English app page
|
||
|
||
Three things, and the first is correct:
|
||
|
||
1. the language picker's own „Magyar" button — a picker names each language in its own tongue;
|
||
2. the update badge „Naprakész" and its tooltip — **R-589**;
|
||
3. the data-folder card's consequence sentence — **R-590**, the one that makes a promise about files.
|
||
|
||
The Apps LIST also shows fifty Hungarian descriptions: those are the apps nobody has translated yet.
|
||
|
||
## What was NOT proven here
|
||
|
||
Whether an app's "first steps" name the buttons that app's **English** interface actually shows. No
|
||
gate and no endpoint can answer that; it needs somebody to open the app. The lines are listed per app
|
||
in `app-catalog-felhom.eu/REPORT.md` under "unverified UI labels" and belong to the slice-6 walk
|
||
(R-561).
|
||
|
||
## Teardown
|
||
|
||
Nothing was installed or removed on either box. Three template files changed on both (the catalog
|
||
sync), which is what the sync does. The staged password file and the capture scripts were shredded
|
||
from both Proxmox hosts and both guests; `ls` confirms they are gone. Both boxes were left on
|
||
Hungarian.
|