PR: https://git.cafe/pingdotgg/t3code/pulls/23736 (GitHub #23736) main: 49a9e80e0b30 (github/main) PR head: e12e01e1771e3ffd603b213ffb5de11a4bb586ff Commands and observed results, 2026-10-28, Linux x64 Boat VM: $ git worktree add ../main github/main $ vp i $ setsid nohup timeout 7000 vp run dev main dev: server 16733, web 8693; stopped before PR dev. $ vp i $ setsid nohup timeout 6000 vp run dev --home-dir /home/user/t3code/.t3 PR dev: server 13773, web 5733; stopped before packaged PR launch. Both refs built on task-owned Blacksmith workers: $ vp run dist:desktop:artifact --platform linux --target AppImage --arch x64 --keep-stage --verbose Both builds passed. Downloaded and extracted actual AppImages. main locales: en-US.pak only PR locales: 55 .pak files No package files or locale overrides were modified for this comparison. Each packaged binary ran with isolated T3CODE_HOME and XDG_CONFIG_HOME: $ LANG=fr_FR.UTF-8 LANGUAGE=fr_FR:fr ./t3code --no-sandbox --password-store=basic --remote-debugging-port=9223 The password-store flag avoids the disposable VM's keyring setup prompt. Created /home/user/appointments as a real git repo and added it through T3's Add project > Local folder UI. Sent a real Codex gpt-6.1-sol turn through main's web client to build a Node appointment tracker with a native date input and disk storage. Turn completed in 58s. Added the same repo in PR dev through the UI and sent a real gpt-6.1-sol read-only turn. Turn completed in 15s and confirmed native input -> POST /api/appointments -> appointments.json. Playwright from repo dependencies drove /usr/bin/google-chrome for dev web UI and attached to the packaged Electron host over CDP. Native guest inputs were clicked and typed through CDP Input events, without setting an ISO value. Opened http://localhost:4317 in the actual desktop Browser panel. Typed the same title and keyboard sequence 03042026 in both packages. main: navigator.language=en-US; Intl default=en-US; input.value=2026-03-04; Wednesday, March 4, 2026. PR: navigator.language=fr; Intl default=fr; input.value=2026-04-03; vendredi 3 avril 2026. PR Save appointment: "Appointment saved." $ curl http://localhost:4317/api/appointments [{"id":"4edc6e09-40ec-421c-bc38-c3bb715e6742","title":"Locale verification appointment","date":"2026-04-03"}] Read appointments.json: same persisted date, 2026-04-03. PR Refresh: saved appointment remains. Navigate to /?navigation=1, Back: http://localhost:4317/ Forward: http://localhost:4317/?navigation=1 Guest still reports fr and displays persisted 2026-04-03. Restart actual PR package with LANG=en_US.UTF-8 LANGUAGE=en_US:en: navigator.language=en-US; Intl default=en-US; typing 03042026 gives 2026-03-04. Persisted appointment remains 2026-04-03, displayed Friday, April 3, 2026. $ blacksmith-check run --id 'vp run check:changed' Initial attempt needed origin/main history on shallow worker. Fetched public main and PR history, then reran. PASS format, lint, both knip passes, typecheck (31 packages), scripts/build-desktop-artifact.test.ts. $ cafe pr status 23736 --repo pingdotgg/t3code 31 successful checks, zero failing or pending. Head e12e01e1771e3ffd603b213ffb5de11a4bb586ff. Before/after screenshots show matching unsaved data and native date/locale difference. Recordings show native typing; after also shows saving. Idle time removed from after recording. Inspected captures and played both exported recordings fully. Uploaded videos played to the end and sought successfully in T3's actual rendered browser player. Not verified: macOS/Windows runtime; native iOS/Android; real Windows packaged file count and the 140-file budget; every non-English locale; separately configured OS region behavior; remote/relay/tunnel connections. This is a packaged desktop change, so plain dev Chrome alone was not considered proof.