Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N1W4wBum4JSFrbaEoDkMBy
13 KiB
felhom.eu — task reports
Overwrite this file with a summary of the most recent task only (uniform with the other repos; not cumulative). The cumulative hub history lives in hub/CHANGELOG.md; the scripts history lives in scripts/CHANGELOG.md.
Website refresh before the Facebook tester-recruitment post — 2026-07-18
Scope: website/ only · Commits: be2fc50, d2fd935 (pushed to main, live via git-sync)
· Source of truth for every claim: documentation/architecture/00-capability-map.md (verified
2026-07-16, plus the 2026-07-18 N100 rehearsal rows).
1. Audit table — every factual claim, verdict, map row
Map references are section letters from the capability map. "—" = no map row exists, which is itself the finding.
index.html
| # | Claim (before) | Verdict | Map row / evidence |
|---|---|---|---|
| 1 | „45+ alkalmazás" | FIX → 53 | §B Deploy an app from the catalog PROVEN-LIVE; real count = 53 *.felhom.yml in app-catalog-felhom.eu/templates/ |
| 2 | „Felhő Felügyelő" (tech tile) | FIX → „Vezérlőpult" | Naming ruling; controller login page + R-11 draft both say vezérlőpult |
| 3 | „Kubernetes / Üzleti szintű rendelkezésre állás" tile | CUT | — (no customer-facing k8s row; also a bare availability promise) |
| 4 | og:image → /assets/og-image.png |
FIX (was a 404) | File never existed; only .svg did. Generated 1200×630 |
| 5 | og:title / og:description (generic pitch) | FIX | Rewritten to one honest map-traceable sentence |
| 6 | Hero CTA „Érdekel →" | FIX | Retargeted to #zart-teszt (the post's landing intent) |
| 7 | Fényképek / dokumentumok / média a saját gépeden | ADD | §E Phone photo backup PROVEN-LIVE (6D); §E Documents/OCR PROVEN-LIVE (CAMPAIGN-6C 4P-1) |
| 8 | Hálózati megosztás — Windows Intéző + Mac Finder | ADD | §E Files from Windows Explorer / Mac Finder (SMB server) PROVEN-LIVE; Explorer leg passed 2026-07-18 |
| 9 | Kétszintű automatikus mentés (helyi + titkosított távoli) | ADD | §C Tier-2 PROVEN-LIVE (CAMPAIGN-6E P-TIER2); §C Offsite restic PROVEN-LIVE (6D); shares ride both tiers (R-7b, ctrl 0.145.0) |
| 10 | Helyreállítási kód, amit csak az ügyfél ismer | ADD | §A Escrow ceremony … operator zero-knowledge PROVEN-LIVE; wizard first live firing 2026-07-18 |
| 11 | Távoli felügyelet + automatikus frissítés | ADD | §G Controller self-update PROVEN-LIVE (demo); §G Publish train floor lift proven on a fresh install (5 s, unattended); §F metrics/monitoring IMPLEMENTED |
| 12 | Internetkimaradáskor a LAN-on minden működik | ADD (plain wording) | §E LAN access when internet is down IMPLEMENTED — allowed as a feature per the governing rule. Caveat in §5. |
| 13 | Visszaállítás, ha baj van | ADD | §C Offsite restore PROVEN-LIVE (6D); §C Guest-loss DR PBS restore PROVEN-LIVE (CAMPAIGN-2 T-P9) |
| 14 | „Zárt teszt" section + limitations + CTA | ADD | See §2 |
technologiak.html
| # | Claim (before) | Verdict | Map row |
|---|---|---|---|
| 15 | „Felhő Felügyelő" ×14 (title, meta desc, keywords, og+twitter desc, JSON-LD, TOC, h2, h3, body, stack layer, hedge ×2) | FIX → vezérlőpult | Naming ruling |
| 16 | „45+ app telepíthető" | FIX → 53 | §B |
| 17 | Whole Kubernetes section (h2, „Mi az a Kubernetes?", „Mikor érdemes", k3s vs full-k8s cards) + TOC entry + multi-node hardware tier | CUT | — No customer-facing k8s/k3s row exists. k3s is hub (operator) infra, not the customer box. Also carried „a szolgáltatás nem állhat le" = an availability promise the task forbids |
| 18 | „Tailscale VPN – biztonságos távoli elérés" | FIX → WireGuard | §E WireGuard base infra always-on IMPLEMENTED; §E remote access = Cloudflare Tunnel + Traefik PROVEN-LIVE. Tailscale is not what ships |
| 19 | „RAID – adatvédelem" card | FIX → kétszintű mentés card | — No RAID row. Shipped model is §C tier-2 second drive + encrypted offsite. Kept the „több lemez ≠ mentés" education |
| 20 | Spec row „4-8 TB (RAID)" | FIX → „4-8 TB" | — |
| 21 | „Melyiket válaszd?" referencing the removed multi-node fürt | FIX | Consistency with #17 |
| 22 | Hardware price ranges (80k–600k Ft) | KEEP | Hardware cost guidance, not a service price or product claim; no map conflict. Flagged in §5 |
| 23 | Docker / Proxmox / reverse proxy / Traefik / UFW | KEEP | §E Remote access PROVEN-LIVE; Proxmox is the platform per proxmox-platform.md |
gyik.html
| # | Claim (before) | Verdict | Map row |
|---|---|---|---|
| 24 | „Minden családtag saját fiókot kap, saját bejelentkezéssel" | FIX (both JSON-LD + visible copies) | §E Multiple household users / per-person accounts = MISSING (R-15). Now: apps do have per-person accounts; the vezérlőpult has one shared household password |
| 25 | „Nagyobb rendszereknél RAID konfiguráció is alkalmazható" | KEEP | Already conditional/on-request; not presented as a shipped product capability |
| 26 | „Jellyfin/Plex — saját Netflix" | KEEP | §B catalog deploy PROVEN-LIVE; browser/mobile playback is the app's own function. TV casting handled honestly in the tester block (#14) |
| 27 | Remote access, 3-2-1 backups, updates, power-on-after-outage | KEEP | §E, §C, §G rows all IMPLEMENTED or PROVEN-LIVE |
biztonsagimentes.html
| # | Claim (before) | Verdict | Map row |
|---|---|---|---|
| 28 | „…azonnal értesítést kapsz, és mi is" | FIX | §F Health-degradation email = IMPLEMENTED, and the map states this trigger "has never fired an email live in any doc". Softened, plus a line that the closed test is partly to harden this |
| 29 | Helyreállítási kód / zero-knowledge | ADD | §A escrow PROVEN-LIVE. States both sides: nobody else can read it, and without the code neither can we |
| 30 | „az egész rendszered … egy új gépre is visszaállítható" | KEEP | §C Guest-loss DR PROVEN-LIVE (CAMPAIGN-2 T-P9-DESTROY-RESTORE) |
| 31 | 3-2-1 rule, incremental, scheduled | KEEP | §C nightly dumps + tier-2 + offsite, all PROVEN-LIVE |
alkalmazasok.html / kapcsolat.html
| # | Claim (before) | Verdict | Map row |
|---|---|---|---|
| 32 | „45+" ×4 (title, meta desc, og:title, twitter:title) | FIX → 53 | §B. Page renders 49 cards; catalog holds 53 templates |
| 33 | Contact form → POST /api/contact with a stale "TODO: never wired" comment |
KEEP — verified LIVE | Probed this session: 200 {"message":"Üzeneted sikeresen elküldtük!…"}. Backend is manifests/contact-mailer.yaml. No new backend built |
| 34 | Subject options | ADD | New „Zárt teszt — jelentkezem tesztelőnek" → mail subject Jelentkezés — zárt teszt |
2. The „Zárt teszt" section (the post's landing target)
Three cards + CTA:
- Valódi használat — the box stays with them, real data, we help with install and migration.
- Visszajelzés — what we want back; "I couldn't find this button" is the most valuable report.
- Ismert korlátok — stated plainly: one shared household password for the vezérlőpult (§E multi-user MISSING, R-15); TV-re streamelés hamarosan (§E DLNA MISSING, R-6/R-8); and "this is a test, expect to find bugs — that's the point".
CTA wiring: the audit found the existing contact-mailer live, so per the task the CTA reuses it
— /kapcsolat?tema=zart-teszt, which preselects the new subject option (unknown ?tema= values are
ignored with a console warning). No mailto fallback needed, no new backend.
3. Files changed
| File | Change |
|---|---|
website/index.html |
meta desc, og/twitter block (+width/height/alt), hero CTA, new „Mit tud a doboz ma?" (8 cards), new „Zárt teszt" section, 45+→53, 2 tiles retitled |
website/technologiak.html |
14× naming fix, 45+→53, Kubernetes section + TOC + multi-node tier CUT, Tailscale→WireGuard, RAID card→two-tier backup, spec row |
website/gyik.html |
multi-user answer rewritten in both the JSON-LD and the visible accordion |
website/biztonsagimentes.html |
new recovery-code block; notification overclaim softened |
website/alkalmazasok.html |
45+→53 ×4 (head only) |
website/kapcsolat.html |
new subject option + label mapping + ?tema= preselect |
website/assets/og-image.png |
NEW — branded 1200×630 card, generated from the existing logo + v2 tokens via headless Chrome (real brand font, no external assets) |
website/CHANGELOG.md |
entry on top |
No CSS, nav, footer, or design changes. All new markup reuses existing classes
(.why-grid, .why-card, .apps-cta, .cta-button) and the existing icon sprite.
4. Deploy verification (fetched from the live site)
- Commits
be2fc50+d2fd935pushed tomain; git-sync deployed in ~20 s and ~45 s. - og tags live on
/—og:title,og:description(honest one-liner),og:image,og:image:width/height/alt,og:locale hu_HU,og:site_name,twitter:card summary_large_image,twitter:title/description/image. All verified bycurl. og:imageno longer 404s —HTTP=200 content-type=image/png bytes=167598, PNG signature valid, dimensions 1200×630 confirmed from the live bytes.- Site-wide sweep across all 6 public pages:
Felhő Felügyelő = 0,k3s|kubernetes = 0,45+ = 0, og-image200. - New sections live:
id="mit-tud",id="zart-teszt",/kapcsolat?tema=zart-teszt,<strong>53</strong>, „Hálózati megosztás", „TV-re streamelés hamarosan". /kapcsolatservesvalue="zart-teszt">Zárt teszt — jelentkezem tesztelőnek<.- Gates:
python scripts/site_gates.pygreen (BOM, emoji=0, nav/footer identical, analytics, no CDN, no legacy tokens, no<style>, cache-busted assets). - Mobile pass — measured, not eyeballed. At a 380 px viewport:
documentElement.scrollWidth == clientWidth == 365→ no horizontal scroll. Cards 317 px, CTA 275×58 (well above the 44 px tap target), hero h1 40 px, body 16 px, single column. Note: headless screenshots at--window-size=380looked clipped, but that is a headless rendering artifact — the DOM measurement (and the identical artifact on the pre-edit baseline) disproves it. The only elements extending past 380 px are the off-canvas.nav-linksmenu, by design.
Zero „Felhő Felügyelő" occurrences remain — confirmed both in the working tree (all 7 HTML files, including the non-public draft) and on the live site (all 6 public pages).
5. Things that need a ruling (not fixed)
- Naming ruling was applied as the default, per the task — the surface is „vezérlőpult", the brand is Felhom. One line vetoes it.
- „Internetkimaradáskor is működik" is the softest claim on the new page. §E rates it
IMPLEMENTED, and the map explicitly notes it was "never drilled as a customer experience"
(R-19). It is allowed as a feature by the governing rule, but it is the one card on the landing
page with no live customer-facing evidence behind it. If R-19 stays undrilled before the post
goes out, consider cutting that card — it is one
<div>. - Hardware price ranges (80k–600k Ft) on
/technologiakwere left in place. The task said not to add pricing; these predate it and are hardware cost guidance, not a service price. But a recruit arriving from "volunteer tester" messaging then hitting price tables is a tonal mismatch — worth a ruling. - Foreign WIP in the shared worktree — I did not touch it.
website/assets/logo.svg,og-image.svg,og-image_wide.svgwere already modified andog-image_wide.pnguntracked when I started. Staged only my own paths (per the never-git add -Arule); those four remain uncommitted. Someone appears to be working on OG imagery in parallel — reconcile before it collides with theog-image.pngthis task shipped. - The R-11 one-pager does not exist yet (ROADMAP status: idea). The task referenced its
„Egy mondat a bizalomról" wording; since there was nothing to reuse, the trust copy was sourced
from the two places that are ruled: the shipped escrow wizard template (
backups_escrow.html) andRUNBOOK-onboarding-draft-v3.md§C2. If the one-pager later lands with different wording, align the site to it. - I sent one real test message through the live contact form (
name=Teszt,message=probe) to confirm the mailer was actually wired before building the CTA on top of it. It will be in the info@felhom.eu inbox — safe to delete. gyik.htmlstores every answer twice (JSON-LDFAQPage+ visible accordion) and the two had already drifted (the payback-cost answer differs between copies). The multi-user fix was kept in sync across both; the pre-existing drift elsewhere is unfixed and is a standing trap.