website: the operator's seven notes - a services page, the hero, and 100 dead links
gates / gates (push) Failing after 6m51s

Reported from his own screens. Five defects, two design.

1. THE CATEGORY ANCHORS WERE DEAD - all 100 of them. The sidebar's five app-category
   links pointed at #fajlkezeles-irodai and friends; the ids are #fajlkezeles and
   friends. The sidebar is copied into every page, so one wrong fragment was wrong
   twenty times, and a dead fragment raises no error anywhere: the browser stays put.

   New gate 23 resolves every in-site #fragment against the page it names (360 today).
   It convicted two more on its first run: the home page's four hero tiles pointed at
   /alkalmazasok#immich, which no page had ever carried, and the FAQ's contact button
   pointed at a home-page section that had moved out. Every app card now carries its
   slug as an id - taken from the card's own logo file, which gate 21 already ties to
   the catalog, so the ids cannot drift from it silently.
   Decoy site/dead-fragment puts the operator's own bug back and the gate convicts.

2. SZOLGALTATASOK IS A PAGE: /szolgaltatasok + /en/services, registered in TWINS, URL
   and SHELL. The ten capability items moved VERBATIM out of the home page; the home
   keeps the promise sentence, the three group names as links and a button, and is 345
   Hungarian / 434 English words shorter. The .caps rules stopped being .page-index-
   scoped, because the block now lives on a page with a different body class.

3. THE HOME HEADLINE is back in the hero column beside the picture, two lines with the
   second in --blue-bright at clamp(2.1rem, 4.4vw, 3.2rem). M3 had moved it into
   .page-header - the INNER pages' heading - so it shrank to 2.1rem and the domain
   badge was stranded beside it.

4. THE HERO PICTURE is the real dashboard in a laptop. The frame is the operator's own
   supplied render; the screen is dashboard-start-{hu,en}.webp composited into it, so a
   visitor sees a real box's Launcher rather than a drawing of one - the supplied
   screens are AI-drawn and misspell app names. 57 KB, named dashboard-laptop-<lang>
   so gate 19 holds it to the page's language.

5. .page-lede HAD NO CSS AT ALL on 16 pages: a bare paragraph, full width of the
   content column, hard against the box beneath it. 760px measure, centred over the
   box, air beneath; left-aligned on /szolgaltatasok, which has no centred box.

6. THE SIDEBAR LOGO: the wordmark shipped at 0.67x the mark's width where the real
   lockup (assets/logo.png, measured: mark 492px wide, wordmark 631px) has it at 1.28x.
   Mark 112px, wordmark 25px tall, 28px less vertical padding.

7. SCROLLBARS are the page's own now. The first attempt missed the viewport's: it is
   painted from <html>, and a `body.shell ::-webkit-...` rule only reaches scrollers
   inside the page.

Also: the two Latin font subsets are preloaded. With font-display: swap the page
reflowed after first paint - measured at 1339px on /alkalmazasok#media.

Checked at 390px and 1440px on all 21 pages: no sideways scrolling, footer inside the
content column everywhere, drawer opens with all 13 items. site.css?v=24.
This commit is contained in:
2026-10-12 08:58:42 +02:00
parent a7480172ab
commit 0ef0b106f6
31 changed files with 1150 additions and 474 deletions
+13
View File
@@ -1,3 +1,16 @@
## 2026-10-12 — site gate 23: every in-site #fragment resolves
- `site_gates.py` **gate 23** reads every page's ids, maps each in-site href with a `#fragment` to the
page it names (via `URL`), and fails when that id is not there. 360 fragments today, all resolving.
Links to another site, or to a URL this gate does not own, are not its business.
- **Why.** The sidebar's five app-category links pointed at ids nobody had written — 100 dead links
across 20 pages, live, found by the operator clicking one. A dead fragment raises no error: the
browser stays put, so nothing mechanical and nothing in a log ever noticed. The gate also convicted
two more on its first run (the home page's four hero tiles, the FAQ's contact button).
- **Decoy** `site/dead-fragment`: a sidebar link moved back to `#media-szorakozas`, seen to convict
with gate 23's own line.
- `szolgaltatasok.html` / `en/services.html` registered in `TWINS`, `URL` and `SHELL`.
## 2026-10-11 (evening) — site gate 22: no CSS leak from site.css onto a shell page, MEDIA-AWARE
- `site_gates.py` **gate 22** parses both stylesheets into (media context, selector, declarations) and