Check off T26; acceptance checklist for the language and timezone-region model

This commit is contained in:
ZacharyZhang-NY committed 2026-10-09 02:18:33 -04:00
1 parent fcd681c099
commit 8e1f9266ca
1 file changed
+15 -14
+15 -14
View File
@@ -56,24 +56,25 @@ These replace the 2026-10-05 decisions where they disagree.
- [x] T23 omarchy-iso: merge upstream `quattro` (#237) and #241; remove `--region`, `prepare-region.sh`, the region skel, the region preselected timezone, Rime bundling and its pin
- [x] T24 omarchy-iso: the language screen replaces the region screen; Chinese reruns in cage + foot with `noto-fonts-cjk` unpacked from the offline repository (no font packages added to the ISO); the CJK console lists only US-keymap keyboards and preselects Chinese (Simplified, Pinyin); the target gets `zh_CN.UTF-8` through `locale_config`; the harness takes `--language zh`
- [x] T25 Docs: `AGENTS.md`, `docs/regions.md`, `manual/52-china.md`, omarchy-iso README
- [ ] T26 Build the local-source ISO and test in QEMU: Chinese + `Asia/Shanghai`, English + `Europe/Berlin`, runtime region and language switches
- [x] T26 Build the local-source ISO and test in QEMU: Chinese + `Asia/Shanghai`, English + `Europe/Berlin`, runtime region and language switches
- [ ] T27 Acceptance checklist for T19–T26
## Acceptance checklist
Evidence comes from the T12 runs of `omarchy-iso/release/omarchy-2026.10.06-x86_64-local.iso` in QEMU (omarchy 4e323342, omarchy-iso 8d069b0, omarchy-pkgs a84ad64c).
Evidence comes from the T26 runs of `omarchy-iso/release/omarchy-2026.10.09-x86_64-local.iso` (omarchy fcd681c0, omarchy-iso 30f63b6, omarchy-pkgs a4cc3234): run A in host QEMU with the guest cut off from the network during install, run B in the ISO test harness.
| # | Requirement | Result | Evidence |
| # | Requirement (discussion of 2026-10-08) | Result | Evidence |
|---|---|---|---|
| 1 | China package sources: `pkgs.omarchy.cn` before `.org`, Arch `.cn` mirrors before `.org`, `omarchy update` keeps them | Pass | China install has a `.cn` twin above each `.org` server in `pacman.conf` and `mirrorlist`; `omarchy update -y` keeps them while the installed Omarchy package is the local build (see the pin above); `region-test.sh`, `region-switch-test.sh`. Arch `.cn` hosts do not resolve yet, so pacman falls through to `.org`. |
| 2 | Region choice on the installer's first screen | Pass | Configurator asks Global/China before the keyboard; summary shows the region; `test_region.py`, `setup-form-test.sh`; both QEMU installs answered it. |
| 3 | Chinese input ready at first login, Ctrl+Space toggles | Pass | China install: Rime Ice and the Wanxiang model from the ISO, no prompt; after reboot Ctrl+Space typed 中文, then Ctrl+Space typed `ok`. Global install has no Rime. |
| 4 | CJK font fix (PR 9693) | Pass | `50-omarchy.conf` rebuilt; `fontconfig-cjk-test.sh` covers fc-match and the string lang path apps use; China VM resolves SC, JP and Latin mono as expected. |
| 5 | Claude Code third-party API in settings; Kimi Code and Dim | Pass | Setup > Claude Code API (China only) wrote the DeepSeek env; `claude -p` reached api.deepseek.com (401 for a fake key). Both regions install the `dim` and `kimi` launchers; in China `dim` 0.5.16 and `kimi` 2.1.1 ran. |
| 6 | China mirrors for npm, Arch, Ruby, Go, Rust, Python, Java | Pass | China VM: npm, pip, uv, go, rustup, cargo, gem, bundler and maven each exit 0 and leave the artifact; eight log an npmmirror or Aliyun URL, cargo logs the `aliyun` registry and caches under `mirrors.aliyun.com-*`. |
| 7 | China software entry | Pass | Install > China Apps lists WeChat and the others only in China; `china-apps-test.sh`. |
| 8 | Region switch in settings | Pass | China to Global: `.org` only, `en_US`, drop-ins and Claude env removed, CJK fonts and Rime kept, China rows hidden, `omarchy update -y` stays Global and English (old bug fixed). Global to China: `.cn` twins, `zh_CN`, Rime set up, update keeps it. Global from the start installs no Rime. Dim and Kimi stay in every case. |
| 9 | Stock Omarchy logo only | Pass | No OmarchyCN asset in any of the three branches; screens show the stock logo. |
| - | Test ISO built and tested in QEMU | Pass | Local-source ISO; China guest checks 16/16, Global 9/9; in-guest `./test/all`: 4635 passing assertions, run exited 1 (`ascii-test` fails only without `LANG` over ssh; the guest has no `omarchy-pkgs` checkout). |
| 1 | Language picker on the first screen; Chinese gets cage + foot | Pass | Run A: the VT screen offers English and Chinese; Chinese reruns in cage + foot on a bilingual language screen, and every later screen and the install dashboard read in Chinese. |
| 2 | CJK font from the offline repository, not added to the ISO | Pass | `unpack_cjk_font` extracts `NotoSansCJK-Regular.ttc` from the offline mirror's `noto-fonts-cjk`; the ISO package list drops `ttf-jetbrains-mono` and `wqy-microhei` and keeps only `cage` and `foot`. |
| 3 | Translated installer strings and the target locale | Pass | Run A: summary, finish screen and dashboard in Chinese; installed `LANG=zh_CN.UTF-8` through `locale_config`. Run B: English throughout, `LANG=en_US.UTF-8`. |
| 4 | Region from the timezone, no extra step (#13690, #241) | Pass | Run A: `Asia/Shanghai` shows 区域 cn on the summary and writes `/etc/omarchy/region` = `cn`. Run B: `America/New_York` installs Global with no marker. |
| 5 | Offline install ready without network | Pass | Run A installed in 8m13s with the guest network cut off; ArchLinuxCN keyring trusted, `mirror.omarchy.cn` first, Pinyin ready at first login. |
| 6 | `.cn` pacman mirrors from #13690; ours dropped | Pass | China: `mirror.omarchy.cn` before `mirror.omarchy.org`, `[archlinuxcn]` from USTC. Global: mirrorlist equals the channel template; `pacman.conf` differs only by the local-build `IgnorePkg` pin. |
| 7 | Developer mirrors on the cn profile | Pass | China links `/etc/environment.d/90-omarchy-china.conf`, `/.cargo/config.toml`, `/etc/gemrc`; Global removes them and `NPM_CONFIG_REGISTRY` is gone after relogin. |
| 8 | Input methods from dhh's #14433; Rime removed | Pass | Chinese preselects Chinese (Simplified, Pinyin); `INPUT_METHOD=pinyin`; `Ctrl + Shift + Space` then `nihao` typed 你好. No Rime package, asset or pin remains. |
| 9 | Region and language switch separately at runtime | Pass | `omarchy region global` and `cn` leave `LANG` alone; `omarchy language en` and `zh` leave the region alone; each offers logout in the right language; Claude Code API and China Apps follow the region. |
| 10 | `omarchy update` keeps region and language | Pass | After `omarchy update -y`: `LANG=zh_CN.UTF-8`, region `cn`, `mirror.omarchy.cn` first, `[archlinuxcn]` present. |
| - | Automated tests | Pass with known environment failures | omarchy shell suite in an Arch container shows no failure that pure upstream does not share; omarchy-iso `./test/all` passes apart from `test_keyboard` (needs systemd's `localectl`). Harness acceptance: four failures outside this branch (Mozc Qt, weather geo lookup, reminder OCR on dim text, `linux-omarchy` vs `omarchy-bore` kernel). |
Open items outside this branch: the shipping prerequisites above; upstream acceptance-suite failures (surfaces kept mapped at 1x1, English OCR on a Chinese UI, notification OCR timeout); deferred provisioning and factory reset get no offline input method; the menu's "Go…" prompt and keybinding and notification texts stay English.
Open items outside this branch: the shipping prerequisites above; the four acceptance failures listed; `.automated_script.sh` exits 1 whenever its dashboard returns without rebooting, from upstream's `EXIT` trap under `set -e`; each `omarchy region` switch asks for the sudo password several times through refresh's command-scoped `sudo` calls.