journal / 2026 06 14 tsumugu ed extracted deploy ready
Tsumugu: dictionary extracted to its own repo (tsumugu-ed), deploy walkthrough ready
Tsumugu: tsumugu-ed extracted, deploy ready (2026-06-14)
The move
Pulled the dictionary out of tsumugu/personal/dictionary into its own top-level project ~/Projects/tsumugu-ed — aligning the filesystem with the name already used everywhere in the PRDs (“tsumugu-ed corpus”). It deserves separation as the standalone, soon-public thing it is.
- It was already its own git repo, so history travelled with a plain
mv. The big pending commit landed in the move (Pre-move checkpoint) — everything from the gloss fixes through search + SEO is now committed; working tree clean. - validate green from the new location; prod scripts (
render_site,build_search_index,validate,gen_helpers, the.commands) are all__file__-relative, so they survived untouched. - Fixed 15 files with hardcoded old-path references (incl.
expand.py’sROOT); remaining references are historical logs (keep the record) and the regenerable.venv-screensvirtualenv. Auto-memory was clean. - Open: whether the dictionary’s PRDs (still scattered across
~/Projects/and~/Projects/tsumugu/) should also move intotsumugu-edfor full self-containment. Their path refs were fixed; relocation is deferred.
Deploy decisions (for context)
- Host: Cloudflare Pages, not GitHub Pages (the site PRD’s original choice). Two reasons: GitHub Pages’ free tier prohibits commercial use (a real risk once ads land), and Cloudflare Pages gives unlimited bandwidth vs GitHub’s 100 GB cap. One platform for domain + DNS + CDN + host + analytics. Caveat: Cloudflare Pages free tier caps at 20,000 files — at 9,667 now, watch it as HSK grows.
- Domain: Cloudflare Registrar, at-cost ~$8–10/yr (.com), free WHOIS privacy. Total launch cost ≈ one domain.
- Repo:
github.com/Logos52/tsumugu-ed(private — fine; Pages serves the built output publicly). Branchdisplay/w3-indexes-exports. - Build, not serve:
exports/site/is gitignored, so Pages must build it — build commandpython3 scripts/render_site.py(stdlib-only), outputexports/site,SITE_ORIGINas a Pages env var for canonical + sitemap. Fallback:npx wrangler pages deploy exports/site(direct upload of a local render).
What’s ready / outstanding
- Walkthrough written:
tsumugu-ed/DEPLOY-WALKTHROUGH.md— first-time click-by-click: repo push → Cloudflare account → Pages build config → register domain → custom domain + HTTPS → analytics + Search Console → license/legal. - Wedge’s to-do: commit the path fixes + push; walk the deploy; pick the domain name; legal glance before announce.
- Deferred (
POLISH-BACKLOG.md): 50 無聲, 276 cosmetic cribs, 579 frequency-tail words, C2, example sentences, audio. None block launch.