{"content":"Development journal — new UI session opening latency\n\nCommit: 901ac170 fix: activate owner openings on new UI sessions\nBranch: fix/assistant-opening-latency (local only; not pushed or merged)\n\nRoot cause confirmed from the local session and source path:\n- The first model event arrived in 2.56 seconds, so DeepSeek was not the primary bottleneck.\n- New UI sessions call runner.startSession with skipInitialUserMessage=true because main.ts already persisted the user's prompt. The acknowledgement gate treated that persistence flag as 'pure host-authored turn', so the opening timer never armed. This affected every newly created session and explains why second and third tasks felt slow too.\n\nFix:\n- Added an explicit acknowledgeOwner flag, independent of message persistence. The UI start path now marks its already-persisted human turn as owner-initiated.\n- The acknowledgement gate now accepts owner-initiated starts, ordinary continue turns, and persisted cross-session deliveries while keeping pure host-authored greetings ack-free.\n- Reduced the deterministic opening fallback deadline from 2,000ms to 250ms. An LLM acknowledgement can win only inside that short window; otherwise the task-focused deterministic opening is emitted. Speculative streaming placeholders still cannot suppress it.\n\nVerification:\n- Focused mapper, opening, owner-update and real DSH runtime integration suite: 108/108 passed, including 249ms/250ms boundary and late-LLM deduplication.\n- Full DSH main-process suite: 262/262 passed; nested dsh-runtime integration checks also ran to completion.\n- Assistant UI/render regression suite: 144/144 passed.\n- Reliable delivery outbox and Twin orchestration tests, including structured worker progress states: 39/39 passed.\n- DSH dependency gate and all 11 kernel-patch fingerprints passed under Node 26.\n\nUnrelated pre-existing issue:\n- The aggregate pnpm test stops at the IPC contract freshness check because src/mobile/generated/ipc-contract.json is stale. The identical failure reproduces on unmodified main and is unrelated to these four changed files, so no unrelated contract regeneration was performed. All change-relevant suites passed.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}