docs: record the placement change and re-measure after it
gates / gates (push) Failing after 5m58s

Every document that described the biography as a home-page section would now be
wrong, so each is corrected rather than left:

  ki-all-mogotte.md  gains 'Where it ended up' with the operator's reasoning, the
                     rejected /rolam option, and why the home page keeps a trace
  AUDIT.md           lever 2 carries a dated revision note (the audit itself is a
                     record of what was found, so it is annotated, not rewritten)
  PREFLIGHT.md       re-measured on the deployed page after the move:
                       1440: 6 780 -> 6 385 px  (42% shorter than the old page)
                        390: 10 865 -> 10 145 px (49% shorter, 23.6 -> 12.0 screens)
                       sections 10 -> 9, layout families 10 -> 9, still no repeat
                       eyebrow allowance 4 -> 3, still 0 used
  website/CHANGELOG  the live change, with the layout bug that the deployed page
                     revealed and the markup did not
  REPORT + STATUS    what is live vs what is still waiting on the operator

The numbers moved because a whole section left the page; leaving the old ones in
place would have been a quiet overclaim in the other direction.
This commit is contained in:
2026-10-11 09:29:47 +02:00
parent bb88e73f9e
commit 0c86e698b0
6 changed files with 96 additions and 13 deletions
+27 -5
View File
@@ -1,4 +1,4 @@
# REPORT — home-page redesign, staged not switched (2026-10-10 → 11) # REPORT — home-page redesign, staged not switched (2026-10-10 → 11)
> Written as `REPORT-<topic>.md`, not `REPORT.md`: the shared file belongs to the kernel-night > Written as `REPORT-<topic>.md`, not `REPORT.md`: the shared file belongs to the kernel-night
> session (`de4a8d20`) and is overwritten per session (`CLAUDE.md` §Workflow). > session (`de4a8d20`) and is overwritten per session (`CLAUDE.md` §Workflow).
@@ -33,7 +33,9 @@ table.
reading 3/2/4 → 6/3/4, and 8 levers. The operator approved all 8 at STOP 1, chose to leave the reading 3/2/4 → 6/3/4, and 8 levers. The operator approved all 8 at STOP 1, chose to leave the
indexed `<title>`/OG/Twitter strings alone, and chose the outdoor photograph. indexed `<title>`/OG/Twitter strings alone, and chose the outdoor photograph.
**Part B — „Ki áll mögötte".** Five sentences, first person, every claim traced in **Part B — „Ki áll mögötte".** *(Placement revised 2026-10-11: the full block lives on
`/kapcsolat` + `/en/contact`, which are LIVE; the home page keeps a portrait, one line and a link in
its closing call to action. See the last section.)* Five sentences, first person, every claim traced in
`ki-all-mogotte.md` together with what was left out and why. The operator's CV was read for one fact `ki-all-mogotte.md` together with what was left out and why. The operator's CV was read for one fact
only; employers, address and phone are **not** on the page. Approved at STOP 2. only; employers, address and phone are **not** on the page. Approved at STOP 2.
@@ -47,13 +49,13 @@ the plan for the other pages.
| | Old home | New preview | | | Old home | New preview |
|---|---|---| |---|---|---|
| Height, 1440 px | 10 922 px | **6 780 px** (−38%) | | Height, 1440 px | 10 922 px | **6 385 px** (−42%) |
| Height, 390 px | 19 913 px (23.6 screens) | **10 865 px** (12.9 screens, −45%) | | Height, 390 px | 19 913 px (23.6 screens) | **10 145 px** (12.0 screens, −49%) |
| Initial load, same conditions | 13 requests, 308 KB | **11 requests, 260 KB** | | Initial load, same conditions | 13 requests, 308 KB | **11 requests, 260 KB** |
| Fully loaded | 16 requests, ~540 KB | 15 requests, **~545 KB** | | Fully loaded | 16 requests, ~540 KB | 15 requests, **~545 KB** |
| Third-party hosts | 0 | **0** | | Third-party hosts | 0 | **0** |
| Em dashes in the page's own copy | 18 | **0** | | Em dashes in the page's own copy | 18 | **0** |
| Layout families | 8 for 11 sections (`why-grid` ×3, `apps-showcase` ×2) | **10 for 10, none repeated** | | Layout families | 8 for 11 sections (`why-grid` ×3, `apps-showcase` ×2) | **9 for 9, none repeated** |
| JetBrains Mono | fetched, 31 KB, for 13 characters | **not fetched** | | JetBrains Mono | fetched, 31 KB, for 13 characters | **not fetched** |
| Horizontal overflow at 390 px | none | none (`clientWidth == scrollWidth`) | | Horizontal overflow at 390 px | none | none (`clientWidth == scrollWidth`) |
@@ -125,3 +127,23 @@ is about the same: the 93 KB portrait is paid for by dropping the 49 KB decorati
1. **Go or no-go on the home page.** The preview is at `https://felhom.eu/preview/`. 1. **Go or no-go on the home page.** The preview is at `https://felhom.eu/preview/`.
2. **R-931**, the compression setting — one nginx block, helps every page. 2. **R-931**, the compression setting — one nginx block, helps every page.
3. **R-929** blocks the apps page: the prose says 58, the page renders 59 cards, the catalog holds 60. 3. **R-929** blocks the apps page: the prose says 58, the page renders 59 cards, the catalog holds 60.
## Added 2026-10-11 — the biography moved, and it is live
The operator looked at the preview and said the „Ki áll mögötte" section did not belong on the home
page. He was right, and the reason is precise: it sat between the dashboard gallery and
„Hogyan működik?", interrupting *what it does* → *how you get it*. Its closing sentence,
„Ha írsz, én válaszolok", is a contact-page sentence.
- **`/kapcsolat` and `/en/contact` now carry the full block.** These are live pages, so the photograph
and the five sentences are public from that commit. Both halves of the twin moved together.
- **The home page preview keeps a compact trace**: a 56×70 portrait, one line, a link. R-11 („nobody
is behind it”) was a *home-page* finding, so removing every human trace would have re-opened it.
- A dedicated `/rolam` page was rejected: five sentences cannot carry one, and filling it would have
meant inventing biography.
- `.who*` unscoped from `.page-index`, per `69035f4af5`'s lesson about shared patterns.
- One layout bug found and fixed by looking at the **deployed** page: `.who-mini` was `inline-flex`
inside a centred block and flowed beside the button instead of under it.
- Re-measured after the move: preview **6 385 px** at 1440 and **10 145 px** at 390, **9 sections, 9
layout families**. No horizontal overflow at 390 on `/preview/`, `/kapcsolat` or `/en/contact`;
every image loads; `site.css?v=` → 14.
+8 -2
View File
@@ -7,11 +7,17 @@
## Sunday 2026-10-11: a redesigned home page is waiting for you, and two site-wide fixes went live ## Sunday 2026-10-11: a redesigned home page is waiting for you, and two site-wide fixes went live
- **„Ki áll mögötte" is now on the contact page, and that part IS live**: <https://felhom.eu/kapcsolat>
(English: `/en/contact`). You said it did not belong on the main page, and the reason turned out to
be precise — it interrupted „what the box does" with a life story, and its last line, „Ha írsz, én
válaszolok", is a contact-page sentence. A separate „rólam" page was weighed and dropped: five
sentences cannot fill one without inventing things. The home page keeps a small photo and one line
linking there.
- **The new home page is at <https://felhom.eu/preview/>.** Open it on your computer and your phone - **The new home page is at <https://felhom.eu/preview/>.** Open it on your computer and your phone
and compare it with <https://felhom.eu/>. **The live home page is unchanged** — you said you wanted and compare it with <https://felhom.eu/>. **The live home page is unchanged** — you said you wanted
to sit with it, so nothing was switched. **This is waiting on you.** to sit with it, so nothing was switched. **This is waiting on you.**
It is a third shorter on a computer and **half as long on a phone** (23.6 screens of scrolling down It is **42% shorter on a computer and 49% shorter on a phone** (23.6 screens of scrolling down to
to 12.9). The hero shows the real dashboard instead of the logo, there is a new **„Ki áll mögötte"** 12.0). The hero shows the real dashboard instead of the logo, there is a new **„Ki áll mögötte"**
section with your photo and five sentences in your own words, and the first sentence a visitor section with your photo and five sentences in your own words, and the first sentence a visitor
reads is now four facts instead of „Professzionális otthoni szerver telepítés és üzemeltetés". reads is now four facts instead of „Professzionális otthoni szerver telepítés és üzemeltetés".
- **Two things you approved DID go live, on every page:** the footer line now uses the correct - **Two things you approved DID go live, on every page:** the footer line now uses the correct
@@ -158,6 +158,10 @@ Each is one plain sentence. This is the list the operator approves, changes or c
concrete sentence drawn from the facts already on the page. *(R1, R2, R3)* concrete sentence drawn from the facts already on the page. *(R1, R2, R3)*
2. **Put a face and a name on the page.** A new "Ki áll mögötte" section with the operator's 2. **Put a face and a name on the page.** A new "Ki áll mögötte" section with the operator's
photograph and three or four sentences in his own words. *(R11)* photograph and three or four sentences in his own words. *(R11)*
**Revised 2026-10-11, after the operator saw it:** the full block went to `/kapcsolat` +
`/en/contact` instead, where „Ha írsz, én válaszolok" belongs; the home page keeps a portrait,
one line and a link in the closing call to action, which is what keeps R11 answered. See
`ki-all-mogotte.md`.
3. **Break the eleven-times-identical section header.** Vary alignment and shape so that no two 3. **Break the eleven-times-identical section header.** Vary alignment and shape so that no two
consecutive sections open the same way. *(R4)* consecutive sections open the same way. *(R4)*
4. **Give each section its own layout family.** Split the ten-card grid into a short scannable list, 4. **Give each section its own layout family.** Split the ten-card grid into a short scannable list,
@@ -3,17 +3,22 @@
Run against the **deployed** preview at `https://felhom.eu/preview/`, 2026-10-10, not against the Run against the **deployed** preview at `https://felhom.eu/preview/`, 2026-10-10, not against the
file on disk. Every measurement came from the browser. file on disk. Every measurement came from the browser.
> **Updated 2026-10-11.** „Ki áll mögötte" moved to `/kapcsolat` + `/en/contact` at the operator's
> request, leaving a compact portrait-and-one-line row in the home page's closing call to action.
> The home page is therefore 9 sections rather than 10, and shorter than first measured. Every number
> below is re-measured on the deployed page after that move.
## Headline numbers ## Headline numbers
| | Old home page | New preview | | | | Old home page | New preview | |
|---|---|---|---| |---|---|---|---|
| Page height, 1440 px | 10 922 px | **6 780 px** | 38% shorter | | Page height, 1440 px | 10 922 px | **6 385 px** | 42% shorter |
| Page height, 390 px | 19 913 px | **10 865 px** | 45% shorter, 23.6 → 12.9 phone screens | | Page height, 390 px | 19 913 px | **10 145 px** | 49% shorter, 23.6 → 12.0 phone screens |
| Initial load (same conditions) | 13 requests, 308 KB | **11 requests, 260 KB** | | | Initial load (same conditions) | 13 requests, 308 KB | **11 requests, 260 KB** | |
| Fully loaded (all assets) | 16 requests, ~540 KB | 15 requests, ~545 KB | **essentially unchanged** | | Fully loaded (all assets) | 16 requests, ~540 KB | 15 requests, ~545 KB | **essentially unchanged** |
| Third-party hosts | 0 | **0** | | | Third-party hosts | 0 | **0** | |
| Em dashes in the page's own copy | 18 | **0** | | | Em dashes in the page's own copy | 18 | **0** | |
| Layout families for 11 / 10 sections | 8 (3 repeats) | **10 (no repeat)** | | | Layout families for 11 / 9 sections | 8 (3 repeats) | **9 (no repeat)** | |
| JetBrains Mono fetched | yes, 31 KB, for 13 characters | **no** | | | JetBrains Mono fetched | yes, 31 KB, for 13 characters | **no** | |
**Honest reading of the weight.** The *initial* load is 48 KB lighter. The *fully scrolled* page is **Honest reading of the weight.** The *initial* load is 48 KB lighter. The *fully scrolled* page is
@@ -43,7 +48,7 @@ more than anything on this page.
| Hero fits viewport, ≤2-line headline, ≤20-word subtext | **Pass** — headline 2 lines, subtext **20 words**, CTA and a real screenshot both above the fold at 1440 and at 390 | | Hero fits viewport, ≤2-line headline, ≤20-word subtext | **Pass** — headline 2 lines, subtext **20 words**, CTA and a real screenshot both above the fold at 1440 and at 390 |
| Hero top padding ≤ `pt-24` | **Pass** — 128 px, and the hero is sized by its content; the old one was a forced `100vh` band with the content floating in the middle | | Hero top padding ≤ `pt-24` | **Pass** — 128 px, and the hero is sized by its content; the old one was a forced `100vh` band with the content floating in the middle |
| Hero stack ≤ 4 text elements | **Pass** — headline, subtext, CTA, figure caption. No eyebrow, no tagline under the CTA, no trust strip | | Hero stack ≤ 4 text elements | **Pass** — headline, subtext, CTA, figure caption. No eyebrow, no tagline under the CTA, no trust strip |
| **Eyebrow count ≤ ceil(sections/3)** | **Pass — 0 of an allowed 4.** The cluster headings are not eyebrows (no uppercase, no tracking, they head real groups), and the comparison's column headers were deliberately de-capitalised for this rule | | **Eyebrow count ≤ ceil(sections/3)** | **Pass — 0 of an allowed 3.** The cluster headings are not eyebrows (no uppercase, no tracking, they head real groups), and the comparison's column headers were deliberately de-capitalised for this rule |
| Split-Header Ban | **Pass** — every section header stacks headline over body | | Split-Header Ban | **Pass** — every section header stacks headline over body |
| Zigzag Alternation Cap | **Pass** — the two image+text splits (hero, portrait) are separated by two other families | | Zigzag Alternation Cap | **Pass** — the two image+text splits (hero, portrait) are separated by two other families |
| No Duplicate CTA Intent | **Pass** — one label, „Jelentkezem tesztelőnek", used for the one intent in both places | | No Duplicate CTA Intent | **Pass** — one label, „Jelentkezem tesztelőnek", used for the one intent in both places |
@@ -54,7 +59,7 @@ more than anything on this page.
| Motion motivated | **Pass** — there is no motion. The old hero's infinite float is gone | | Motion motivated | **Pass** — there is no motion. The old hero's infinite float is gone |
| Marquee max one | **n/a** — none | | Marquee max one | **n/a** — none |
| Navigation one line, ≤80 px | **Pass** — unchanged from the live nav, spliced verbatim | | Navigation one line, ≤80 px | **Pass** — unchanged from the live nav, spliced verbatim |
| **Section-Layout-Repetition** | **Pass** — 10 sections, 10 families. Was 11 sections over 8 families, `why-grid` ×3 and `apps-showcase` ×2 | | **Section-Layout-Repetition** | **Pass** — 9 sections, 9 families. Was 11 sections over 8 families, `why-grid` ×3 and `apps-showcase` ×2 |
| Bento rhythm and exact cell count | **n/a** | | Bento rhythm and exact cell count | **n/a** |
| Long lists use the right component | **Pass** — the ten-card grid became three labelled clusters (§4.9 „grouped chunks") | | Long lists use the right component | **Pass** — the ten-card grid became three labelled clusters (§4.9 „grouped chunks") |
| **Real images, no fake screenshots** | **Pass** — one real dashboard screenshot in the hero, four in the gallery, one real photograph of the operator. No AI image, no stock, no picsum, no div-built preview. The decorative logo is gone from the hero | | **Real images, no fake screenshots** | **Pass** — one real dashboard screenshot in the hero, four in the gallery, one real photograph of the operator. No AI image, no stock, no picsum, no div-built preview. The decorative logo is gone from the hero |
@@ -2,6 +2,24 @@
**STOP 2 artifact.** Nothing here reaches a page before the operator approves this file. **STOP 2 artifact.** Nothing here reaches a page before the operator approves this file.
## Where it ended up (operator, 2026-10-11, after seeing the preview)
**The full block lives on `/kapcsolat` and `/en/contact`, not on the home page.** The operator's
reading, which was right: on the home page it sat between the dashboard gallery and
„Hogyan működik?", interrupting *what it does* → *how you get it* with a life story. And the last
sentence, „Ha írsz, én válaszolok", is a contact-page sentence — it belongs beside „Válaszidő".
A dedicated `/rolam` page was considered and rejected: five sentences cannot carry a page, and the
only way to fill one would have been to invent biography.
**The home page keeps a compact trace** in the closing call to action: a 56×70 portrait, one line and
a link to the full block. That is deliberate — the audit's **R-11** finding was „nobody is behind it"
*on the home page*, and removing every human trace would have re-opened exactly that. The trace now
sits where someone decides to write.
The English twin was written in the same commit and uses the site's established „the box” rather
than a new term; it promises nothing the Hungarian does not.
## The draft ## The draft
> ### Ki áll mögötte > ### Ki áll mögötte
+29 -1
View File
@@ -1,4 +1,32 @@
## 2026-10-11 — the footer dash site-wide, and the primary button meets WCAG AA ## 2026-10-11 (este) — „Ki áll mögötte" a kapcsolati oldalakra költözött
Operator's call after seeing the preview. **This one IS live**, on `/kapcsolat` and `/en/contact`;
the home page itself is still the old design.
- **The full block moved to `/kapcsolat` + `/en/contact`.** On the home page it sat between the
dashboard gallery and „Hogyan működik?", interrupting *what it does* → *how you get it* with a
life story — and its last sentence, „Ha írsz, én válaszolok", is a contact-page sentence that
belongs beside „Válaszidő". Both halves of the twin moved in the same commit; the English uses the
site's established „the box" and promises nothing the Hungarian does not.
- **The home page preview keeps a compact trace** in its closing call to action: a 56×70 portrait,
one line, and a link to the full block. Deliberate, not a leftover — the audit's **R-11** finding
was „nobody is behind it" *on the home page*, so deleting every human trace would have re-opened
it. The preview is now **9 sections, 9 layout families**, 6 385 px at 1440 and 10 145 px at 390
(from 10 922 / 19 913: 42% and 49% shorter).
- A dedicated `/rolam` page was weighed and rejected: five sentences cannot carry a page, and filling
one would have meant inventing biography.
- **The `.who*` rules are no longer page-scoped.** They were `.page-index .who*`; the block now lives
on two pages and will live on the home page's twin later, so it follows `69035f4af5`'s lesson that
a genuinely shared pattern goes site-wide rather than being duplicated per scope. No existing page
used `.who`, so nothing else moved.
- `assets/operator-portrait-small.webp` — 160×200, 8.4 KB, same crop, metadata stripped and verified
by read-back.
- **A layout bug caught by looking at the deployed page**, not at the markup: `.who-mini` was
`inline-flex` inside a `text-align: center` block, so it flowed onto the same line as the CTA
button and pushed the pair off-centre. Now `flex` with `max-width` and `margin: auto`.
- `site.css?v=` → 14 on all 21 files.
## 2026-10-11 — the footer dash site-wide, and the primary button meets WCAG AA
Two operator decisions taken at the redesign review. **The home page itself was NOT switched** — the Two operator decisions taken at the redesign review. **The home page itself was NOT switched** — the
operator chose to sit with the preview, so `/` still serves the old design. Only these two things operator chose to sit with the preview, so `/` still serves the old design. Only these two things