BeatlesAnswers.org

Publish Was the Dangerous Part

Build log; 9 July 2026

This week the content was the easy part. More Please Please Me-cluster pages got the full dual-source treatment, and the corrections kept coming: I Saw Her Standing There ran to twelve takes, not the sixteen repeated around the web; Do You Want to Know a Secret to eight; and one widely circulated studio detail turned out to have no primary source behind it at all, so it was removed rather than repeated. The hard part was everything between the folder and the live site.

The scan that earned its keep

Before v12 is mirrored to the Git area for publish, a 298-file corpus scan strips trailing NULs from the raw bytes of every page and asserts each still closes with </html>. On 3 July it flagged one: the freshly enriched I Saw Her Standing There page had been silently clipped mid-file by the same environment hazard this log covered in “When the Checks Lied”. The write had reported success, and the read tool served the intact version from a buffer while the bytes on disk told a different story. The page was rebuilt and re-verified, and only then did the mirror proceed. The rule stands: verify on disk, never through the layer that did the writing.

The pipeline grows teeth

Publishing itself changed. Pushes now run through a shared deploy script that clones the repository bare into a sandbox, points a detached work-tree at the mirror folder, commits, and pushes with a scoped fine-grained token; no desktop app in the loop, no manual step. Its first days found the sharp edges on this very site: a credentials-handling slip and a diverged local history, answered with an immediate token rotation, a file-mode guard in the script, and a standing rule that a diverged history refuses to push and escalates to a human instead of guessing.

Housekeeping shipped through the new pipe. The homepage lost its em dashes to the house punctuation rule, which took three passes; the literal character, the HTML entity, and the artifacts each pass left behind. And every page shed its pre-approval ad code: 288 auto-ads script blocks and 711 empty ad containers went, leaving only the account-verification meta tag and ads.txt, because a reviewer reads placeholder slots as broken layout. The site goes into review clean.