Repository navigation
Editorial #2 — 18 Sep 2026 (awaiting Sam's POST ticks) - #20
Draft
HyperfocuSam wants to merge 10 commits into
Draft
HyperfocuSam wants to merge 10 commits into
HyperfocuSam wants to merge 10 commits into
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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/mainat9347236c. Not merged into main, not deployed.Main moved four commits while this was being built (PR 19, the bot-proof contact form), so
origin/mainwas merged into this branch in47c06e31. That direction was chosen deliberately: a rebase would have rewritten all eight post SHAs and invalidated the revert instructions below. Onlypublic/feed.xmlconflicted, 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.
f82207f5/blog/traffic-light-protocol-ai-safety/d543e09d/blog/ai-change-management-what-actually-works/587d52c4/blog/9-percent-copilot-licenses/6bba95d6/blog/ai-maturity-trap-stuck-stage-one/46ddf8eb/blog/microsoft-copilot-training-hong-kong-tc/5b88976b/blog/hk-2026-budget-ai-training-tc/c9f57c6f/blog/how-to-design-ai-pioneer-program-tc/16dbeff3/blog/why-i-teach-copilot-not-chatgpt-tc/2e21c23647c06e31origin/main(PR 19)Dropping a KILLed post
Commit 9 is the only shared commit. Reverting a post does not need it reverted, because
prebuildrewrites 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 in229bc1a0; the excerpt carried the same framing.Eight further edits for the twins: four new
language: 'zh-Hant'entries, andlinkedPostadded to the four English entries that had none. The pointer has to be on both sides orzhFunnelLinks.test.jsfails 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-30were used rather than 2026-09-18. The consequence is that the four twins do not surface at the top of/blog. Onesedflips them if that is the wrong call.9-percent-copilot-licensesstill carries Sam's open question. The 4% sustain-rate figure is on no record. The question is in the file as<!-- SAM: … -->, somarkdown-to-jsxstrips it and it cannot reach the page. It does ship inside the JS chunk as a string, becausecontent.generated.jsmirrors the whole file. Answer it and take the marker out before this merges.Verification
All eight routes are in
public/sitemap.xmlandbuild/sitemap.xml, each exactly once, and every twin pair carries bidirectionalhreflangplus anx-defaultpointing at the English side. Post count went 100 to 104 (72 EN + 32 TC).