American English sweep, and the deploy bug it uncovered
Private deliverable. Enter the hub password to continue.
That's not right. Try again.
American English sweep, and the deploy bug it uncovered
Twenty repos, about 570 spellings, and a deploy pipeline that had been lying about where it published.
American English sweep, 2026-08-02
American English has been a standing rule for every site since 2026-07-31. This session swept all of them, fixed what was wrong, and found a deploy bug on the way that had nothing to do with spelling.
Scope was reader-facing copy only, Annette's call. Code comments, stylesheets, identifiers and internal engineering docs were left alone.
Where each site stands
| Site | Result | Deploy |
|---|---|---|
| annettethompson.com | Clean | GitHub Actions |
| curecaninedisease.com | Clean, validator GREEN | GitHub Actions |
| seobeliever.com | Clean | GitHub Actions |
| newtoboulder.com | Clean | SiteShipper |
| outdoorboulder.com | Clean, after the branch fix | SiteShipper |
| boulderthingstodo.com | Clean | SiteShipper |
| tasteboulder.com | Clean | SiteShipper |
| testosteroneinwomen.com | Clean | SiteShipper |
| buildamensgroup.com | Clean | wrangler, no git integration |
| verityagentic.com | Clean | verified live |
| househelperhub.com | Clean | verified live |
| vitalency.com | Clean | verified live |
| nottoooldforai.com | Clean | verified live |
| recipememoir.com | Clean | see the correction below |
| medspasboulder.com | Fixed, not published | no known publish path |
| trainerbooked.com | Fixed, not published | no known publish path |
| bobmanthy.com | Fixed, not published | no known publish path |
| proteinfirstrecipes.com | Fixed, not published | no known publish path |
| smartstrongalive.com | Fixed, not published | no known publish path |
About 570 spellings across 20 repos, roughly 50 commits, all pushed. Typical fixes: licence to license, colour to color, towards to toward, centre to center, labelled to labeled, judgement to judgment, oestrogen to estrogen, yoghurt to yogurt, programme to program, grey to gray.
The deploy bug
SiteShipper was publishing to preview and reporting success.
Cloudflare Pages decides production versus preview purely by branch name. A deployment whose branch is not the project's production branch lands in preview, and the custom domain never sees it.
SiteShipper defaulted to main. The outdoorboulder project's production branch
is master. So every deploy of that site went to preview, while the run printed
a green Production: https://outdoorboulder.com.
The site had been serving a stale build through repeated successful deploys. It surfaced only because a copy fix would not go live:
main.outdoorboulder.pages.dev -> british=0 american=2 (correct)
outdoorboulder.com -> british=2 american=0 (stale)
Fixed in SiteShipper/scripts/ship.py, which now reads the production branch off
the project at Cloudflare and warns loudly on a mismatch. All eight SiteShipper
projects were audited; outdoorboulder was the only one affected.
This is worth caring about beyond spelling. It would have silently broken any content change on that site, and the failure mode is the dangerous kind: the tool reports success, the deploy really did succeed, and only the destination is wrong.
Two other deploy gaps found
-
buildamensgroup has no git integration. It is a Cloudflare Pages project, but pushing to GitHub deploys nothing. That is the entire reason the site sat 64 findings stale. It needs an explicit wrangler deploy, or a
siteshipper.ymlof its own. -
Five sites have no known publish path. medspasboulder.com, trainerbooked.com, bobmanthy.com, proteinfirstrecipes.com and smartstrongalive.com all answer from Cloudflare but are not Pages projects in the known account, and the API token lacks Workers read permission, so the hosting could not be identified. Their fixes are safe in git. Unblocking needs either Workers:Read added to the token, or confirmation that these live in a second Cloudflare account.
What was deliberately left in British spelling
This is the part worth keeping. A future scan will flag all of it again, and it is correct as it stands.
- Direct quotations and cited titles. The competitor copy inside
tw-quoteblocks on the hub is verbatim scraped text from other clinics. Cited paper titles keep their published spelling, including the UK BASIL "randomised controlled trial" and "behavioural activation" on buildamensgroup. - Proper nouns. National Research Centre Cairo, New You Cosmetic Centre, Saint Anne Adoption Centre, Ministry of Labour, and the journal Pet Behaviour Science.
- Non-English pages. The French site under
site/fr/and the Spanish pages. "programme", "utiliser" and "eglise" are correct French, not British English. - Third-party data. MedSpasBoulder's
data/*.jsonholds scraped customer reviews. Rewriting a review falsifies a quote. - Identifiers. CSS class names like
fc-tile-greyandicon-grey, and object keys like"licence": "CC BY-SA 4.0". Renaming one breaks the code or the styling that reads it. - A preserved archive. The Precious In His Sight adoption site under
public/archive/is a historical record. - A parser that needs both spellings. RecipeMemoir's ingredient parser
deliberately matches
liters?andlitres?, so recipes imported either way still parse. Collapsing it quietly breaks British recipe imports. - Words that only look British. "analyses" is the correct American plural of "analysis", as in "multiple meta-analyses". It appears on six pages and is not a defect.
A correction
An earlier note in this session said 33 live recipe pages carried em-dashes in violation of the zero-tolerance rule. They are not live. recipememoir.com is the product marketing site, served from a different directory, and a recipe URL returns 404 there. The 1,742 recipe pages sit in the repo but are not published on that domain. The 46 em-dashes were removed and the fixes are correct, but the urgency was overstated.
Lessons for the next sweep
The scan is only as good as its exclusions, and two mistakes cost real time:
- Skipping
src/data/. In Astro that is page copy, not third-party data. A real British spelling rendered on newtoboulder.com fromsrc/data/wildfire-insurance.ts. - Masking Astro frontmatter as code. Its data arrays render straight onto the page, so a spelling there is fully reader-facing.
Both hid genuine problems behind green runs. The general lesson: verify a fix by reading the live page, never by trusting the tool's own success output. That applies to the deploy bug too.
Where the detail lives
Every repo touched has its own SESSION-HANDOFF.md with the repo-specific notes,
committed and pushed. The deploy engine's own writeup is in
SiteShipper/SESSION-HANDOFF.md.
Published to Annette's hub. Rebuilt from the source markdown, so edit the source and rerun rather than editing this page.