Files
felhom.eu/REPORT-facebook-page-setup.md
T
admin 8664cbda78
gates / gates (push) Successful in 4m36s
marketing/facebook: Page settings set by hand (intro, action button, Messenger welcome, username felhom.eu)
Ran marketing/facebook/TASK-page-setup-windows.md from the Windows workstation
through Claude in Chrome. Evidence in
documentation/audits/facebook-page-setup-2026-10-08/, report in
REPORT-facebook-page-setup.md.

Done, each read back from a different channel than the edit: the intro is
COPY.md §1 (Graph `about` hex-equal, 99 chars); the action button is
"További információ" to https://felhom.eu/; the Messenger welcome is COPY.md §3
(hex-equal) and the automation is on; the username is felhom.eu, so the Page
answers at facebook.com/felhom.eu.

Not done: COPY.md §2 has no field to go in — Facebook's current Pages
experience has no long-description field and the Graph `description` is null
and unwritable with the robot key's scopes. R-917, four options, operator's
call; no Hungarian copy was shortened.

Phase A read Meta's size page first-hand: it carries none of the 820x312 /
640x360 figures our README asserted, and its own two ratios contradict the file
it recommends. README's grade and comparison rewritten; what we build is
unchanged.

Phase C measured the computer width (cover whole, no crop, profile circle 16 px
clear). The 390 px phone check was NOT performed: narrowing a desktop browser
never gives Facebook's phone layout. R-918.

Nothing posted; no ad, no boost, no Meta Verified; the Meta app stays in
development mode; no host, guest, box or hub touched.
2026-10-08 20:49:14 +02:00

149 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# REPORT — Facebook Page setup (2026-10-08, Windows + Claude in Chrome)
Task: `marketing/facebook/TASK-page-setup-windows.md`. Evidence:
`documentation/audits/facebook-page-setup-2026-10-08/` (its `README.md` holds the method and the read-back
table). This file is a `REPORT-<topic>.md` sibling; the shared `REPORT.md` was not touched.
## 1. Baseline and pushed commit
| | |
|---|---|
| Baseline | `felhom.eu` `main` = `1d692734`, clean on the Windows tree and on DooPlex before the run |
| Pushed | see §9 — filled in after the push |
| Repos touched | `felhom.eu` only (`marketing/`, `documentation/`, `REPORT-facebook-page-setup.md`) |
## 2. Phase A — Meta's figures, and how they compare
Read first-hand from `https://www.facebook.com/help/125379114252045` at 18:04:31 UTC; quoted verbatim in
`A-meta-sizes.md`. Meta says: profile picture shown **176 × 176** on a computer, **196 × 196** on a
smartphone, **36 × 36** on a feature phone, circle-cropped, best source **320 × 320**; cover **16:9** on a
computer and **2,4:1** on a phone, minimum **400 × 150** either way, fastest as sRGB JPG **851 × 315** under
100 kB; the profile circle overlaps the cover by **about 40 px on mobile**; **PNG beats JPG** for a picture
carrying a logo or text.
**Different from ours, and mostly by absence.** `marketing/facebook/README.md` asserted a cover shown
**820 × 312** on computers and **640 × 360** on phones, and a profile-circle overlap of 16 px / 176 px and
24 px / 196 px. **None of those figures is on Meta's page.** Only the 176 px profile size matched. Meta's
mobile overlap (~40 px) is larger than the 24 px we assumed, and 640 × 360 is 16:9 — which Meta puts on the
computer, not the phone. Meta's page also contradicts itself: 16:9 and 2,4:1 and one recommended 851 × 315
(2,70:1) file for both. Recorded, not resolved.
**Are the pictures still safe?** Not rebuilt here, as the task says. Our 1640 × 624 PNG is far above both
stated minimums and is the format Meta prefers; the 932 × 932 profile source is larger than Meta's 320 × 320
recommendation, so it is downscaled, never enlarged. Phase C measured the computer case directly and it is
clean. The grade in `README.md` now reads „READ, Meta's help page", with what Meta does and does not confirm
spelled out.
## 3. B1–B5, one line each
| # | Edit | Result | Read-back, and from where |
|---|---|---|---|
| **B1** | Intro → `COPY.md` §1 | **done** | Graph `GET /{page}?fields=about` on DooPlex: 99 chars / 111 bytes, **hex equal yes**. The before-run `C1-page.json` holds a different, 134-char value, so the change is visible across the pair |
| **B2** | About → details → `COPY.md` §2 | **REFUSED — the field does not exist** | n/a. Graph `description`, `general_info`, `bio` all read `null`; four UI surfaces checked and none offers a long description. Filed **R-917** |
| **B3** | Action button → website | **done**, as „További információ" | Page header „…" → „Műveletgomb módosítása" (a different entry point than the setup card that set it): „További információ", `https://felhom.eu/` |
| **B4** | Messenger welcome → `COPY.md` §3, on | **done, on the second save** | the automation reopened from its own URL after a reload: 120 chars / 134 bytes, **hex equal yes**; toggle „Bekapcsolva" |
| **B5** | Username | **done — `felhom.eu`** | Graph `GET /{page}?fields=username` → `"felhom.eu"`, **and** `facebook.com/felhom.eu` loads the Page |
Three things in that table need their own paragraph.
**B2 — this is the one that could not be done.** The task assumed a „Névjegy → Részletek" long-description
field. There is none. Checked, all on the live Page as its admin: the Page's Névjegy tab (Rövid áttekintés,
Személyes adatok, Részletek — only a 255-character „Bemutatkozás" and the pinned category); Business Suite's
„Oldal módosítása" dialog (profile picture, cover, Bemutatkozás, category, phone, e-mail, address, website,
social links, and nothing else); Facebook settings → „Oldal adatai", which redirects back to the Névjegy tab;
and settings → „Oldal beállítása" (name, access, type, history, status, recommendation, messaging, data
sharing). The Graph fields are `null`. Writing `description` by API would need `pages_manage_metadata`, which
the robot key does not have and which fence 3 forbids adding. **No Hungarian copy was shortened** — that is
the operator's call, and R-917 lays out four options with (c), publish §2 as the first pinned post after the
app goes Live, recommended.
**B3 — the label in the task does not exist either.** The action-button chooser offers no „Weboldal". The
full list is Foglalás most, Regisztráció, Rendelés indítása, Jegyvásárlás, Üzenet küldése, WhatsApp-üzenet
küldése, Hívás most, E-mail küldése, Kapcsolatfelvétel, További információ, Megnézem most, Csoport
felkeresése, Játék indítása, Megveszem, Foglalás. The only generic website-opener is **„További információ —
Webhely megnyitása"**, so that is what was set. Facebook normalised the URL from `https://felhom.eu` to
`https://felhom.eu/`. Before the edit the button was „Üzenet küldése".
**B4 — a red error toast was a partial write.** The first save answered **„A módosítás nincs mentve."** and
the text did not change. Reloading showed the URL had gained an `automation_id` and the automation **existed
and was switched on — carrying Meta's default Hungarian greeting, not ours.** So Meta refused the text and
still created and enabled the rule. (The on/off toggle also would not move before the automation existed:
clicked at its measured centre and via `.click()` on the `role="switch"` input, `aria-checked` stayed
`false`.) With the automation now existing, pasting §3 again and saving gave **„Mentve. A változtatások
alkalmazása eltarthat egy ideig."**, and the reopened automation reads back hex-equal with the toggle on.
This is the inverse of the project's „HTTP 200 can be a REFUSAL" trap: here the error was the thing that
lied. Small, fixed in the session, no row — but it is in `marketing/CHANGELOG.md` because the next person on
that screen must reopen it and read the text back rather than trust either toast.
**One side effect worth naming.** The old `about` carried `https://felhom.eu` as its first line, so the Page
header used to show that as a blue link. Replacing the intro with §1 removed it. The `website` field is
untouched (`https://felhom.eu/`), it still shows under „Hivatkozások", and the new action button now does
that job more prominently. Nothing to fix; said here so it is not read later as a regression.
## 4. Phase C — the four checks
Measured at a **1435 px** viewport (`C1-page-computer-1435px.jpg`), with the geometry read from the DOM:
1. **The profile circle does not cut the logo** — **pass.** Rendered 168 × 168; zoomed on it, the cloud,
house, keyhole, server and the „felhom.eu" lettering are all whole.
2. **The cover headline and „felhom.eu" are whole** — **pass at computer width.** The cover renders
1059 × 403 from the natural 960 × 365 Facebook re-encode of our 1640 × 624 PNG, `object-fit: fill`, and
the image rectangle equals its container's rectangle exactly: **no crop**, and 2,6301 vs 2,6316 is a
0,06 % distortion. The container caps at **1250 px**, so a 2067 px viewport renders the identical cover
(`C1-page-computer-2067px.jpg`) — the requested 1440 px and the 1435 px measured are the same case.
3. **The profile circle does not cover cover text** — **pass.** Its top edge sits 16–17 px *below* the
cover's bottom edge; at this width it does not touch the cover at all.
4. **Phone width (390 px)** — **NOT performed.** `resize_window` reported success while the window was
maximised and changed nothing (`innerWidth` 2133); after the operator un-maximised it, only the first call
after each window-state change took effect. At about 500 px wide, **`www.facebook.com` kept the desktop
layout and grew a horizontal scrollbar** — `innerWidth` pinned at 1105, `scrollWidth` 2051
(`C3-narrow-window-horizontal-scroll.jpg`) — and `m.facebook.com/felhom.eu` redirected to
`www.facebook.com/felhom.eu?_rdr`. The phone view needs a mobile user agent, which these tools do not set.
Filed **R-918**. The arithmetic (a 2,4:1 crop of 1640 × 624 loses ~71 px a side; the safe area is 306 px
clear) says the headline should survive, but that is arithmetic and is reported as such, not as a check.
No cut was found at the width that could be measured, so nothing was re-cropped on Facebook.
## 5. Secret scan, with its control
Over the whole evidence directory: control planted (`EAAfakeprobe`) → `grep -r -o -a 'EAA'` = **1**; control
removed → **0**. `"access_token"` = **0**. `jelszo|jelszó|password` = **0**.
The first pass returned **1 real hit**: `probe/run.log` line 1, the probe's own
`key FACEBOOK_API: <n> chars, starts EAA` line — token metadata, not a token. It was redacted in place before
committing and the replacement line says so. No screenshot of the credentials file, a token page, the
Messenger inbox or the operator's personal profile was saved; the one screenshot that caught the re-auth
dialog (with the operator's name and avatar) was deliberately **not** copied into the evidence directory.
## 6. What the operator still does
- **R-917 — decide where `COPY.md` §2 goes** (a leave it unused / b rewrite one of §1-§2 to fit 255
characters / c publish it as the first pinned post after Live / d ask Meta). Recommended **c**. If nothing
is decided, the Page carries only the 99-character intro — which is a working state, not a broken one.
- **R-915 — switch the Meta app to Live** before any real public post; it needs a Terms of Service URL
(blocked on R-813). `COPY.md` §4, the first three posts, waits on this and was out of scope here.
- **R-916 — the vector logo master**, on the machine that has the „M+ 2c" and „Vremena Grotesk" fonts.
- **R-918 — the phone check**: open `facebook.com/felhom.eu` on a phone, or Ctrl+Shift+M in Chrome at
390 × 844, and say whether the cover headline is cut.
## 7. Register
Rows before **138**, after **140**, opened **2** (R-917, R-918), closed **0**. Section counts updated:
Business & legal 9 → 10, Process & tooling 23 → 24. R-915 stays open as the task says.
## 8. Teardown — three layers
- **Machine:** nothing. No host, no guest, no box, no hub was touched. Two throwaway read-only scripts were
written to DooPlex `/tmp` (`fb_fields.py`, `fb_fields2.py`) and nothing in the DooPlex working tree was
changed; the probe wrote only to DooPlex `/tmp`, from where the JSON was copied here.
- **Facebook:** no post, no story, no reel, no comment, no message sent, no like, no follow, no invite. No
ad, no boost, no Meta Verified, no payment or monetisation setting. No app change — `felhom.eu`
(`2273465403490709`) stays in development mode. No business-portfolio change, no new permission, no new
token, no Page-role change. No consent or terms banner accepted. The one automation created is the
Messenger auto-reply that B4 asked for, and it carries our text.
- **Hub:** nothing.
## 9. Gates, commit, CI
Filled in below after the run.