docs: the floor is at 0.257.0 and it delivered the feature (R-560)
gates / gates (push) Successful in 24s
gates / gates (push) Successful in 24s
The operator asked for the floor at the end of the translation work. Raised the same session 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, which is the observable worth having: the floor delivered the feature, not a version string. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
+1
-1
@@ -9,7 +9,7 @@
|
||||
|
||||
Last updated: 2026-09-20 (v0.257.0 — the app catalog can speak English)
|
||||
|
||||
> **2026-09-20 — v0.257.0 (R-560 slice 5 Part A).** The catalog's `.felhom.yml` may now carry an `i18n: {en: …}` sibling block, and the dashboard reads it. `Metadata.For(lang)` merges FIELD BY FIELD (absent or blank English shows Hungarian, so a half-translated app ships); `For("hu")` is the parsed struct with `I18n` cleared and nothing else, deep-compared over all **53 real catalog files** copied into `internal/stacks/testdata/catalog/`; the three prose lists replace WHOLE and every other list is matched by its own key (`env_var`, option `value`, `match_group`, `target`, `path`) — **never by position**; `For` never writes through the manager's shared metadata. Pages reach copy only via `LocalizeStacks`/`LocalizeStackPtr`/`MetaFor`, and `TestNoDirectMetaCopyReadOnPages` AST-parses `internal/web` against a named allow-list so the NEXT page to read catalog copy fails the suite instead of rendering Hungarian to an English household. **Two of the nine red-proofs convicted a hollow TEST, not the code:** a struct copy shares its slices' backing arrays, so the obvious `DeepEqual` mutation check passed a deliberately broken merge; and a ONE-entry fixture cannot tell key matching from position matching. Both rewritten. Proven live on demo-hp (English pages English, seven Hungarian pages byte-identical apart from the CSRF token) and on demo-felhom **0.255.0** (block synced, pages identical, no parse warning in a 93-line log window). Gaps: R-589 (update badge still Hungarian in English), R-590 (the data-folder promise sentence), R-591 (`Stack.Copy()` does not deep-copy the new `Meta.I18n`), R-592 (three defects inside the new catalog gate, each found by its own decoy). **Floor NOT raised — the operator's step; until it moves, only demo-hp reads English app text.**
|
||||
> **2026-09-20 — v0.257.0 (R-560 slice 5 Part A).** The catalog's `.felhom.yml` may now carry an `i18n: {en: …}` sibling block, and the dashboard reads it. `Metadata.For(lang)` merges FIELD BY FIELD (absent or blank English shows Hungarian, so a half-translated app ships); `For("hu")` is the parsed struct with `I18n` cleared and nothing else, deep-compared over all **53 real catalog files** copied into `internal/stacks/testdata/catalog/`; the three prose lists replace WHOLE and every other list is matched by its own key (`env_var`, option `value`, `match_group`, `target`, `path`) — **never by position**; `For` never writes through the manager's shared metadata. Pages reach copy only via `LocalizeStacks`/`LocalizeStackPtr`/`MetaFor`, and `TestNoDirectMetaCopyReadOnPages` AST-parses `internal/web` against a named allow-list so the NEXT page to read catalog copy fails the suite instead of rendering Hungarian to an English household. **Two of the nine red-proofs convicted a hollow TEST, not the code:** a struct copy shares its slices' backing arrays, so the obvious `DeepEqual` mutation check passed a deliberately broken merge; and a ONE-entry fixture cannot tell key matching from position matching. Both rewritten. Proven live on demo-hp (English pages English, seven Hungarian pages byte-identical apart from the CSRF token) and on demo-felhom **0.255.0** (block synced, pages identical, no parse warning in a 93-line log window). Gaps: R-589 (update badge still Hungarian in English), R-590 (the data-folder promise sentence), R-591 (`Stack.Copy()` does not deep-copy the new `Meta.I18n`), R-592 (three defects inside the new catalog gate, each found by its own decoy). **FLEET FLOOR 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 carries it (R-472). Hub: `managed floor SERVED for demo-felhom … from declared`; **demo-felhom went 0.255.0 → 0.257.0 by itself in under 12 s**, healthy, `settle-gate: GO — at/above floor 0.257.0`, **and then rendered the English tagline** — the floor delivered the FEATURE, not a version string. Peti's box and tester-1 are DOWN and take it unattended when they return. The catalog was fully translated the same day (50 more apps in three pushes, 1 031 of 1 032 strings): **the English Apps list shows ZERO Hungarian app descriptions across all 53**. Gap added: R-594 (the catalog gate can convict a retrieval promise but cannot REGISTER a true one).
|
||||
|
||||
> **2026-09-18 — v0.255.0 (fixes the v0.254.0 globe).** The sign-in-flow pages requested `style.css` with **no `?v=`**, so a browser holding a pre-0.254.0 copy served CSS with no `.lang-globe` rules and the globe rendered as a bare unstyled `<details>` — **invisible to every test, because they all read markup and the fault was in which CSS file the browser fetched**. It was FIVE shells, not three (both guest share pages too), and `.Version` was missing from three of their data maps — now set once in `executeTemplateLang`. The globe also moved INSIDE the card, centred under the footer, menu opening upward via the shared rule. 15 shell fixtures re-captured, **zero dashboard ones**. R-579.
|
||||
|
||||
|
||||
@@ -116,10 +116,31 @@ five `Meta` fields and not the new `I18n` map — safe today because nothing mut
|
||||
exactly why it is worth a row) · **R-592** (three defects inside the new catalog gate, each found by its
|
||||
own decoy).
|
||||
|
||||
## Needs the operator
|
||||
## The floor was raised to 0.257.0, and it delivered function rather than a version string
|
||||
|
||||
**Raise the fleet floor to 0.257.0.** Until then only demo-hp can read an English app block at all;
|
||||
every other box keeps showing Hungarian app text to an English household. Nothing breaks if it waits.
|
||||
The operator asked for the floor at the end of the translation work, so it was raised the same
|
||||
session: `min_controller_version=0.257.0`, `min_agent=0.131.0` — the value this release's CHANGELOG
|
||||
header declares. The floor is **above the vouched golden (0.246.0)**, so the declaration is what
|
||||
carries it (R-472); an undeclared floor there is held by design.
|
||||
|
||||
Observables, both positive:
|
||||
|
||||
- Hub: `managed floor SERVED for demo-felhom: floor 0.257.0, agent requirement "0.131.0" from
|
||||
declared (golden 0.246.0)`.
|
||||
- Box: **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 (we are 0.257.0)`.
|
||||
- **And then it rendered the English tagline** for an app whose block it had just synced. That is the
|
||||
observable that matters: the floor delivered the FEATURE, not just a version number.
|
||||
|
||||
**Peti's box and tester-1 are DOWN** and take it unattended when they return — untested on this
|
||||
version, which is the standing situation for every floor raise.
|
||||
|
||||
## The whole catalog followed the same day
|
||||
|
||||
The operator read the pilot's English and said go, so Part C shipped too: 50 more apps in three
|
||||
pushes, 1 031 of the catalog's 1 032 strings. **The English Apps list now shows zero Hungarian app
|
||||
descriptions across all 53 apps** — the only Hungarian left on it is this release's own two gaps
|
||||
(R-589's „Naprakész" badge, ten occurrences) and the language picker naming itself.
|
||||
|
||||
## Teardown
|
||||
|
||||
|
||||
Reference in New Issue
Block a user