Records what shipped, the two operator decisions as answered, what the website and the controller now share and how a change flows between them, and the five faults that measurement caught before the switch rather than after. head-before.json / head-after.json are kept as the evidence that the switch changed no SEO-bearing tag: the only difference across 19 pages is the dash substitution inside the two FAQ pages' JSON-LD.
5.9 KiB
REPORT — M3: the website in the controller's shell (2026-10-11)
REPORT-<topic>.md, notREPORT.md: that file belongs to another session and is overwritten per session.
In plain words
The website now looks and works like the box's own dashboard: a left menu with your logo, the phone version with a slide-out menu, and the same cards and buttons the controller uses. The pages say exactly what they said yesterday. The whole site switched at once, so nothing is half old and half new.
Two decisions you made during the run: the small dashboard window sits beside the headline rather than a second copy of the logo, and the first menu item is „Kezdőlap". You also chose to have the English home page rebuilt as a real twin of the Hungarian one before switching, which is what happened.
What is live
20 pages: 12 Hungarian (including the hidden prices page) and 8 English. website/preview/ is gone
entirely, taking the A, M1, M2 and M3 studies with it.
| before | after | |
|---|---|---|
| Home page height, desktop | 10 967 px | 4 340 px |
| Home page, first load | 13 requests / 308 KB | 12 requests / 282 KB |
| Third-party hosts | 0 | 0 |
| Em dashes on the home page | 18 | 0 |
| Em dashes replaced site-wide | — | 326 across 17 pages |
The two decisions, as answered
- Beside the headline: the dashboard window (not the logo). The sidebar already shows the logo and wordmark, so a second copy would have been the same mark twice on one screen.
- First menu item: „Kezdőlap" (not „Indítópult"). The home page is not a launcher, and a first-time visitor reads „Kezdőlap" without needing to know the product.
What the controller and the website now share
Recorded in documentation/design/design-system.md §Shell.
| Shared | Website owns | Controller owns | |
|---|---|---|---|
| The 18 tokens | yes, byte-identical in both :root blocks |
— | — |
| The shell: sidebar, top bar, drawer | yes — shell.css is a copy |
the menu items, the wordmark, the sidebar button, the globe's targets | its own menu, its POST language form |
Atoms: .btn*, .alert*, .app-info-card, .launch-*, .form-* |
yes, same copy | — | — |
| Page content and layout | no | all of it | all of it |
How a change flows: the controller changes first; the website's copy is regenerated the same week by re-running the generator against the controller's new commit. A cross-repo gate was deliberately not built (your brief) — the shell should settle first.
Proof, not assertion
- Head tags captured on all 19 pages before the switch and compared after
(
audits/m3-2026-10-11/head-before.json/head-after.json). The only difference anywhere is the dash substitution inside the two FAQ pages'FAQPageJSON-LD — proven by applying the same substitution to the before copy and getting an exact match. - Visible text identical to the live pages, word for word. Legal texts identical with no substitution permitted at all (1 396 and 608 words).
- Live read-back of all 20 URLs: 200, sidebar, footer, legal link and
?v=22on every one. - No page overflows at 390 px; the drawer opens, closes on Escape and returns focus.
- No contrast failures, measured with translucent ancestors composited.
Five faults found by measuring, which looking would not have found
- The home page was about to go live
noindex, nofollow, having also lost meta keywords, meta author, all seven Open Graph tags, all four Twitter tags and theLocalBusinessJSON-LD — its head was hand-built while every other page carried its live one over. The head-tag diff caught it. - The footer had been deleted from all 19 pages, taking the only route to the Adatkezelési
tájékoztató and the Feltételek, the operator's name and
info@felhom.eu. The legal pages are in no menu, so they would have become unreachable. - 168 words silently dropped — the „Fontos tudnivalók" / „Good to know" box on both apps pages
and the 404's English line — by a page-header transform that kept only the
<h1>and first paragraph. Found by a word-level diff. - The sidebar rendered as a horizontal row across the content column, because „later wins" is
per property and the controller's
.nav-linksnever declaresdisplay. Diffing the two files' declaration sets found six such leaks; only this one was visible. - The contact pages' header slid under the sidebar (content column at x=642 instead of 240,
form at two-thirds width) because those pages keep their header outside
<main>.
Fixed along the way, small enough not to file
/letoltesand/adatkezelesscrolled sideways on a phone — 609 px and 478 px at a 390 px viewport, on the live site, before any of this: a 64-character checksum and a long legal URL.- R-930 arrived a second time. Fixing the website's
.cta-buttonhad not fixed the controller's.btn-primary, which the shell imports; it measured 4.01:1 again. Your existing remedy applied..nav-group-labelwas 3.14:1 and moved to--text-2.
Still open
- R-931 — felhom.eu still serves nothing compressed.
shell.cssadds 15 KB per page, all of it uncompressed. This is now the cheapest win on the site by a wide margin. - R-932 — eight catalog strings carry an em dash and show on real customers' boxes.
- The controller has the same two contrast defects on its own screen (
.btn-primary4.01:1,.nav-group-label3.14:1). Fixed for the website only; that repo was read-only this session. - No cross-repo gate keeps
shell.cssin step with the controller, by your instruction.
Gates and register
site_gates.py green throughout; full repo_gates.py --fast green on DooPlex. Register unchanged at
128 — nothing filed, because everything found was either fixed in the session or already has a row.