Skip to content

Editorial #2 — 18 Sep 2026 (awaiting Sam's POST ticks) - #20

Draft
HyperfocuSam wants to merge 10 commits into
mainfrom
editorial-2-20260918
Draft

HyperfocuSam wants to merge 10 commits into
mainfrom
editorial-2-20260918

Conversation

@HyperfocuSam

@HyperfocuSam HyperfocuSam commented Sep 19, 2026 •

Copy link
Copy Markdown
Owner

Nothing here publishes. This branch stages Editorial #2 so that a POST tick becomes one merge, and a KILL becomes one git revert.

Branched from origin/main at 9347236c. Not merged into main, not deployed.

Main moved four commits while this was being built (PR 19, the bot-proof contact form), so origin/main was merged into this branch in 47c06e31. That direction was chosen deliberately: a rebase would have rewritten all eight post SHAs and invalidated the revert instructions below. Only public/feed.xml conflicted, on its <lastBuildDate> line, and all four generated artifacts were rebuilt from the merged sources rather than hand-resolved.

The nine commits

Each post is exactly one commit. All eight were dry-run reverted against the tip of this branch and every one applies cleanly.

# commit post route
1 f82207f5 traffic-light-protocol-ai-safety (EN rewrite) /blog/traffic-light-protocol-ai-safety/
2 d543e09d ai-change-management-what-actually-works (EN rewrite + new H1) /blog/ai-change-management-what-actually-works/
3 587d52c4 9-percent-copilot-licenses (EN rewrite) /blog/9-percent-copilot-licenses/
4 6bba95d6 ai-maturity-trap-stuck-stage-one (EN rewrite + new H1) /blog/ai-maturity-trap-stuck-stage-one/
5 46ddf8eb microsoft-copilot-training-hong-kong-tc (new TC twin) /blog/microsoft-copilot-training-hong-kong-tc/
6 5b88976b hk-2026-budget-ai-training-tc (new TC twin) /blog/hk-2026-budget-ai-training-tc/
7 c9f57c6f how-to-design-ai-pioneer-program-tc (new TC twin) /blog/how-to-design-ai-pioneer-program-tc/
8 16dbeff3 why-i-teach-copilot-not-chatgpt-tc (new TC twin) /blog/why-i-teach-copilot-not-chatgpt-tc/
9 2e21c236 generated artifacts (sitemap, feed, llms-full, content.generated) —
10 47c06e31 merge of origin/main (PR 19) —

Dropping a KILLed post

git revert --no-edit <sha>
npm run prebuild     # commit 9 goes stale on its own; this rebuilds it

Commit 9 is the only shared commit. Reverting a post does not need it reverted, because prebuild rewrites all four generated files from the sources on every build.

What changed in index.js

Two titles and their excerpts, because both H1s changed and the slug did not:

  • ai-change-management-what-actually-works — the field-report title dropped "70+ Organizations"; the excerpt followed it.
  • ai-maturity-trap-stuck-stage-one — the old title asserted the "most companies stuck at Stage 1" distribution Sam deleted from the landers in 229bc1a0; the excerpt carried the same framing.

Eight further edits for the twins: four new language: 'zh-Hant' entries, and linkedPost added to the four English entries that had none. The pointer has to be on both sides or zhFunnelLinks.test.js fails the pair and the hreflang annotation is discarded.

Two calls worth a second look before merge

TC dates follow the English parent, not today. All 26 existing twin pairs in this repo share a date, no exceptions, so 2026-03-15 / 2026-03-14 / 2026-03-04 / 2025-12-30 were used rather than 2026-09-18. The consequence is that the four twins do not surface at the top of /blog. One sed flips them if that is the wrong call.

9-percent-copilot-licenses still carries Sam's open question. The 4% sustain-rate figure is on no record. The question is in the file as <!-- SAM: … -->, so markdown-to-jsx strips it and it cannot reach the page. It does ship inside the JS chunk as a string, because content.generated.js mirrors the whole file. Answer it and take the marker out before this merges.

Verification

npx jest            11 suites, 190 tests, all passing (after the merge)
npx eslint src      exit 0, no findings
npm run build       Compiled successfully

All eight routes are in public/sitemap.xml and build/sitemap.xml, each exactly once, and every twin pair carries bidirectional hreflang plus an x-default pointing at the English side. Post count went 100 to 104 (72 EN + 32 TC).

Sam Wong added 10 commits September 18, 2026 21:30
Ten headers to four. The two off-record outcome claims are deleted rather than
re-sourced: the post-workshop survey sentence and the 500-person webinar
above-90-percent poll. The post now says the traffic light is borrowed from HK
privacy guidance, not coined here. Title, slug and date unchanged.
… matches

The engagement was labelled a hospitality group while both posts it links to
call the same facts a food manufacturer, so a reader clicking through saw one
engagement under two industries. Food manufacturer throughout now, both siblings
linked. Deleted: the 4,320+ annual hours figure (no record) and the
make-itself-unnecessary-in-12-18-months claim Sam removed from the landers in
229bc1a. index.js title and excerpt follow the new H1. Slug and date unchanged.
…t as a comment

The invented budget arithmetic is gone: the 100:1 procurement-to-training ratio,
the 40/60 recommendation, the 95/5 accusation. Replaced by the honest position,
plus a stated commercial bias toward the continuous model before recommending it.

The 4% sustain-rate figure is on no record. Sam's question about it is carried in
the file as an HTML comment so it cannot render if this ships before he answers:
grep '<!-- SAM:' before calling this post finished. Title, slug, date unchanged.
…deleted figure

The four-stage model survives because six other posts cite Stage 2 and 3 against
it. What goes is the 80%/15% distribution Sam deleted from the landers in
229bc1a, the Sources block and the services CTA. Two factual corrections against
the live posts they link to: the DoRich session was four prompt patterns, not
four modules; the CTS reference no longer claims the 15-pain-point list, which is
on no record. index.js title and excerpt follow the new H1. Slug and date unchanged.
961 EN words adapted into 1,449 Han characters, not translated: the opener is
the sentence a HK meeting actually produces (「有咗 Copilot」), the three-app
breakdown keeps the EN structure because that structure is the buyer's checklist.
Register per the KEEP posts — 甚麼/裡, HK written Chinese, Cantonese inside quotes
only, English nouns inline. Date matches the EN parent, as all 26 existing twins do.
linkedPost added on BOTH entries; without the reverse pointer the hreflang is
one-way and zhFunnelLinks fails.
771 EN words into 1,194 Han characters. Each budget line keeps its bold lead so
an L&D reader can scan for the one that touches them; the policy-signal paragraph
is written as advice a HK manager gives a colleague, not a rendering of the EN.
Every figure carried, none added — HK$50m, HK$100m, HK$2bn, HK$10bn, NITTP 1:1
to HK$250,000, BUD HK$7m / HK$150,000 Easy BUD, TVP closed after Dec 2024.
Two Chinese institution names are Ada's rendering with the English kept in
brackets beside them: 「AI 效能提升團隊」 and 「人工智能+ 及產業發展策略委員會」. NITTP
is written 新型工業化及科技培訓計劃 — worth one check against VTC before this ships.
Date matches the EN parent. linkedPost on both entries.
832 EN words into 1,348 Han characters. The client's opening request is written
as the Cantonese sentence a HR head actually says (「可唔可以幫我哋個團隊做個 AI
培訓?」) rather than a translation of the EN quote; the two-things-I-would-change
close is kept because it is the post's honesty, not a sign-off. Client stays
一間香港食品製造商, the wording already in cases-zh.js. Date matches the EN parent.
linkedPost on both entries.
500 EN words into 758 Han characters, the shortest of the four and it stays
short. The EN closer 'The real lesson' is renamed 「所以,其實不是工具的問題」 so the
heading does not announce an aphorism. Shadow-IT finding stays at 一間香港製造商;
理工大學 and 周大福 stay named per the 2026-07-12 ruling. Date matches the EN
parent. linkedPost on both entries.
…itorial #2 posts

104 posts now (72 EN + 32 TC), up from 100. Regenerated by the prebuild scripts,
not by hand. A reverted post commit leaves these stale until `npm run prebuild`
runs again, which the build does on its own.
…260918

The branch was cut at 9347236 and main moved four commits. Only public/feed.xml
conflicted, on <lastBuildDate> alone; all four generated artifacts were rebuilt
from the merged sources rather than hand-resolved. Merged this direction so the
eight post commits keep their SHAs and stay individually revertible.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant