{"content":"Development journal — assistant opening latency merged into main\n\nMerge commit: dc618c9a2c388df99ddf2a21762f2417a5786c24 (chore: merge assistant opening latency)\nFeature commit: 901ac170993df28779f4d0c87d3cdb94a52f6784\n\nThe no-ff merge is complete on local main. Main now marks new UI sessions as explicitly owner-initiated even though their first prompt was already persisted, so the opening timer actually arms. Pure host-authored greetings remain ack-free, while continue turns and persisted cross-session deliveries keep working. The deterministic opening fallback deadline is now 250ms.\n\nRoot cause captured in the development record: the target session's first model event arrived in 2.56 seconds, but skipInitialUserMessage incorrectly classified the new UI turn as pure host work and prevented any persistent opening. This was not primarily a DeepSeek latency problem.\n\nPost-merge verification ran directly in the main working directory:\n- Electron TypeScript compilation passed.\n- Focused mapper, opening, owner-update and real DSH runtime integration suite: 108/108 passed, including the 249ms/250ms boundary and late-LLM deduplication.\n- DSH dependency gate and all 11 kernel-patch fingerprints passed under Node 26.\n\nBefore merge, the full DSH main-process suite passed 262/262 with nested runtime integration checks completed, the assistant UI/render suite passed 144/144, and reliable delivery plus Twin orchestration passed 39/39. The aggregate pnpm test still stops at the pre-existing stale src/mobile/generated/ipc-contract.json freshness check, which reproduces on unmodified main and is unrelated to this change.\n\nCloseout: .worktrees/assistant-opening-latency was removed and fix/assistant-opening-latency was deleted after confirming full absorption into main. Local main is ahead of origin/main by 44 commits. Nothing was pushed and no deployment was performed; acceptance can use this main checkout.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}