ba7174012a
gates / gates (push) Successful in 4m28s
Operator refinements after looking at the rebuilt pictures. No geometry changed: R-919's measured constants, its band and every check stand, and the red-proof still convicts the old layout. Profile picture: the logo MARK only. The mark plus the "felhom.eu" lettering was too much for the 176 px Facebook shows -- and smaller than the shape the Page carried before this work, because build.py shrinks the artwork to fit inside the circle where the original was simply cropped by it. Dropping the lettering grows the mark from 69% to 76% of the circle; canvas 932 -> 648 and the profile_width floor 720 -> 640 (twice Meta's recommended 320 source; 720 was above what the mark alone needs and would have shrunk it for nothing). logo.png is split at a MEASURED row: ink y 5-289, blank band y 290-295, wordmark y 296-403. Covers: the headline is now set the way the WEBSITE sets its h1. site.css .page-index .hero-text h1 is font-weight 700, letter-spacing -0.03em; this file used ExtraBold 800 with no tracking, so the cover did not actually match the page. HEADLINE_WEIGHT/HEADLINE_TRACK now carry those, with real per-glyph spacing. Bold is narrower so headlines grew: A 57->62, B 58->63, C 47->50. "felhom.eu" is no longer typed anywhere: wordmark() draws the logo's own lettering, which is set in "M+ 2c"/"Vremena Grotesk" -- fonts this machine does not have (R-916) -- so any typed version was a look-alike. The website hero shows the same logo.png on the same dark background, so the covers match the page. The DOMAIN constant is removed rather than left as dead code. Caught before it shipped: the preview's new profile paragraph added a fourth %d and the argument tuple stayed in the old order, so the phone paragraph rendered "the centre 76 px of the 938-pixel width, with a profile circle 1640 cover-pixels across". Every number was real, just in the wrong slot, which is why it read as plausible instead of crashing. Found by reading the rendered paragraph back, not by the exit code. Built on DooPlex; all checks pass, the phone simulation still shows 0 px cut and 0 px under the profile circle on all three covers. R-919 stays VERIFY.
10 KiB
10 KiB
marketing — CHANGELOG
facebook — the brand lockup: the mark alone on the profile, the real lettering on the covers (2026-10-09)
Operator refinements on the same day, after looking at the rebuilt pictures. No geometry changed; R-919's measured constants and all its checks stand.
- The profile picture is the logo MARK only. The mark plus the „felhom.eu" lettering left both too small
to read at the 176 px Facebook shows, and smaller than the shape the Page carried before. Dropping the
lettering lets the mark grow from 69 % to 76 % of the circle, and the canvas drops 932 → 648 px
(still twice Meta's recommended 320 source, so the floor in
profile_widthwent 720 → 640; 720 was above what the mark alone needs and would have shrunk it for nothing). At 40 px the cloud, the house and the keyhole now read. - Both backgrounds read now. The preview recommended dark because the lettering faded on white — a reason that no longer exists. It now says what is actually true: dark matches the covers and the Page as it stands, white separates the circle from the dark cover, and the operator picks.
- The covers set the headline the way the WEBSITE sets its h1.
site.css.page-index .hero-text h1isfont-weight: 700; letter-spacing: -0.03em; this file used ExtraBold (800) with no tracking. NowHEADLINE_WEIGHT = "Bold"andHEADLINE_TRACK = -0.03, with real per-glyph letter-spacing rather than faked by scaling. Bold is narrower, so the headlines grew: A 57 → 62, B 58 → 63, C 47 → 50. - „felhom.eu" is no longer typed. It is the logo's own lettering, cropped out of
logo.pngat a measured split (mark y 5–289, blank band y 290–295, wordmark y 296–403) and scaled. That lettering is set in „M+ 2c" / „Vremena Grotesk", fonts this machine does not have (R-916), so typing it in Plus Jakarta Sans was a different wordmark. The website hero shows the samelogo.pngon the same dark background, so the covers now match the page. TheDOMAINconstant is gone with it. - Caught before it shipped: the preview page's new profile paragraph added a fourth
%d, and the argument tuple was left in the old order — so the phone paragraph rendered „the centre 76 px of the 938-pixel width, with a profile circle 1640 cover-pixels across". All three numbers were real numbers from the file, which is why it read as plausible rather than as a crash. Fixed and both paragraphs re-read. - Checks unchanged and all passing; the cap check now measures the weight the headline is actually set in.
Profile pictures necessarily changed (that was the point), so their sha256 moved:
db05dae5…dark,a44849e4…white.
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).