796a9fdf40
gates / gates (push) Successful in 4m28s
build.py believed a phone shows 640x360 of the cover. It shows 412x274 =
1.504:1 -- the full height and only the centre 938 px of 1640, 351 px off each
side. PHONE_HDR = (412, 274) now drives CW_PHONE, so SAFE is (391,40)-(1249,584),
858 px wide with a 40 px margin inside each crop edge.
QUIET is no longer one formula for both circles: the computer circle is
left-anchored, the phone circle is CENTRED and hides only its measured box
(637,369,393). The old shared formula, applied to a centred circle, would have
blanked everything from x 0 to x 1054 below y 345.
Every cover draws in a derived BAND (408,48)-(1249,340), and a cap check holds
each headline's capital at >= 4% of the cover height; A/B/C come out at 45, 45
and 37 px against a 25 px floor.
RED-PROOF, and it is permanent: control_old_window() runs on every build and
draws the headline where the old assumption put it (x 328); the check must
reject it. The phone's crop edge is x 351, so 23 px were cut; the measured safe
edge is x 391. Against the covers as committed at a76207945e the new check
convicted 3 of 3 -- A 23/22 px past the left/right edges, B 63/58 px plus 1017
content pixels under the phone circle, C 63/82 px plus 1778.
Covers redrawn inside the band: A one centred line; B the home motif scaled
with two tiles moved into the lower-right strip, the one area below the band a
phone still shows beside the profile circle; C the dashboard screen 470 -> 370
px so frame and base fit. preview.html shows the phone panel at the measured
938x624 with the centred circle and no longer claims 640x360.
Profile pictures untouched -- sha256 identical before and after, and not in the
diff. Built on DooPlex: the PNGs are byte-reproducible there (Pillow 11.1.0) and
not across Pillow versions; the README now says so.
R-919 is VERIFY, not closed: the geometry is measured on ONE emulated device in
the mobile website, so the operator's check in the Facebook app is the
acceptance. Nothing uploaded, no Graph API call, FACEBOOK_API never read.
7.5 KiB
7.5 KiB
marketing — CHANGELOG
facebook — the covers rebuilt to the phone view we measured (R-919) (2026-10-09)
R-919's fix, from an operator brief (no TASK file in the repo). The covers shipped on 2026-10-08 were cut
on every phone; this rebuilds them to the measured geometry. Report: REPORT-facebook-cover-r919.md.
- The geometry is measured now, not assumed.
build.pybelieved a phone shows 640 x 360 of the cover. It shows 412 x 274 = 1,504 : 1 — the full height and only the centre 938 px of 1640, 351 px off each side.PHONE_HDR = (412, 274)drivesCW_PHONE, soSAFEis now (391, 40)–(1249, 584), 858 px wide with a 40 px margin inside each crop edge. QUIETis no longer one formula for both circles. The computer circle is left-anchored (everything to its left is under it); the phone circle is centred and hides only its own measured box(637, 369, 393). The old shared formula would have blanked the whole left half of the cover's bottom.- A derived
BAND— inside SAFE, right of the computer circle, above the phone circle — is where every cover draws, so a re-measurement moves the three designs with it. - A
capcheck holds each headline's capital at ≥ 4 % of the cover height (25 px). A, B, C come out at 45, 45 and 37 px. - The red-proof runs on every build, beside the circle check's own control:
control_old_windowdraws the headline where the old assumption put it (x 328) and the check must reject it. Against the covers as committed ata76207945ethe new check convicted 3 of 3 — A 23 px / 22 px past the left and right edges, B 63 / 58 px plus 1017 content pixels under the phone circle, C 63 / 82 px plus 1778. - The three covers were redrawn inside the band: A one centred line; B the headline left with the home,
its server and now seven app tiles right — two of them in the lower-right strip, the one place below the
band a phone still shows beside the profile circle; C the headline left with the dashboard, its screen
470 → 370 px wide to fit.
out/preview.htmlshows the phone panel at the measured 938 x 624 with the centred circle, labelled MEASURED, and no longer claims 640 x 360. - The profile pictures are untouched — sha256 identical before and after, and they are not in the diff.
- Build it on DooPlex. The PNGs are byte-reproducible there (Pillow 11.1.0); Pillow 12.3.0 on the Windows workstation re-renders text a pixel or two differently and rewrites all six files. Noted in the README.
- Nothing was uploaded to Facebook and no key was read. R-919 is VERIFY, not closed: the geometry is measured on one emulated device in the mobile website, so the operator's check in the Facebook app is the acceptance step.
facebook — the Page's settings set by hand, and Meta's size page read first-hand (2026-10-08, evening)
Ran marketing/facebook/TASK-page-setup-windows.md from the Windows workstation through Claude in Chrome.
Evidence: documentation/audits/facebook-page-setup-2026-10-08/; report: REPORT-facebook-page-setup.md.
- Done, each read back from a different channel than the edit. Intro →
COPY.md§1 (Graphaboutnow hex-equal to §1, 99 chars); action button → „További információ" athttps://felhom.eu/; Messenger welcome →COPY.md§3, hex-equal, automation on; Page username →felhom.eu, so the Page now answers atfacebook.com/felhom.eu(Graphusernameconfirms it). The operator typed the password Facebook demanded for the username; nothing else needed a human. - Not done —
COPY.md§2 has no field to go in. Facebook's current Pages experience has no long-description field anywhere, and the Graphdescriptionreadsnulland is not writable with the robot key's scopes. Filed R-917 with four options; §2 stays inCOPY.mdunused.facebook/README.md's „What goes where" row says so. facebook/README.mdsizes grade: „READ, second-hand" → „READ, Meta's help page" — and the comparison went the other way. Meta's page (facebook.com/help/125379114252045, quoted verbatim in the audit) carries none of the 820 x 312 / 640 x 360 figures the section asserted; only the 176 px profile size matched, and Meta's mobile profile overlap is ~40 px where we assumed 24. Meta's own page contradicts itself (16:9 on a computer, 2,4:1 on a phone, one 2,70:1 file recommended for both). What we build is unchanged.- Measured on the live Page at a 1435 px viewport: fine. The cover renders whole — no crop, no distortion — the container caps at 1250 px, and the profile circle sits 16 px clear below the cover.
- Measured on an emulated Pixel 9: the cover is CUT on phones (R-919). The mobile Page header is
412 x 274 = 1,504:1, so Facebook shows only the centre 938 px of the cover's 1640 px width — 351 px
off each side.
build.py's safe area leaves 306 px clear per side, 45 px too few, so 18 px of the text is lost: the headline reads „aját szabályaid" and the wordmark „elhom.eu" on every phone. Nothing was re-cropped on Facebook; the fix isbuild.py's safe area (≤ 938 px, ~900 for margin) plus the measured 172 px centred phone profile circle, then the operator re-uploads. Meta's own page is wrong about Meta's own rendering — it states 2,4:1 for the mobile cover where the header measures 1,504:1, so the first-pass arithmetic built on Meta's figure under-predicted the crop about fivefold. - How to see Facebook's phone layout (it cost several wrong turns, recipe in the audit README): narrowing
the window never works —
www.facebook.comhas a minimum width and only grows a horizontal scrollbar, andm.facebook.comredirects towwwunder a desktop user agent. DevTools device mode with a device chosen and then a reload does it; without the reload the already-booted desktop bundle stays (content 901 px wide in a 412 px viewport).wwwthen hangs on the splash under the mobile agent —m.facebook.comloads. - Gotcha, fixed in the session, no row. In Business Suite the automatic-reply editor refused the first save with „A módosítás nincs mentve." and still created the automation and switched it on — carrying Meta's default Hungarian greeting, not ours. A red error toast was therefore a partial write. Reopening the now-existing automation, pasting §3 again and saving gave „Mentve."; the reopened automation reads back hex-equal. Anyone editing this screen must reopen it and read the text back, not trust either toast.
- Nothing was posted; no ad, no boost, no Meta Verified; the Meta app stays in development mode.
facebook — the Page's pictures and texts (2026-10-08)
marketing/facebook/build.py(Pillow only) makesout/profile-dark.png+out/profile-white.png(932 x 932, the logo PNG placed unscaled), three coversout/cover-{a,b,c}.png(1640 x 624) andout/preview.html(self-contained). Checks in the build: profile circle (today's shape 6823 pixels outside radius 0.42 x width → new pictures 0), cover safe area + profile-circle clearance (content layer only), sizes read back from the files. The site's tokens and font.COPY.md: intro (99 of 100 characters), long description, Messenger welcome, three first posts — each claim cites its website page; no price.- Fixed in the session: covers B and C first failed the safe-area check (text in the phone profile circle's corner, the
frame past the phone crop) and were moved;
logo.svgrenders with the wrong lettering here, so the PNG is the master (R-916).