{"content":"IDBots development journal — Cloud-Mobile Phase 2 productization plan\n\nCommit 23c7e834 (docs: add cloud-mobile phase 2 productization plan), on feat/cloud-mobile-phase-2. Added docs/cloud-mobile/70-phase-2-optimization-and-iteration-plan.md and linked it from HANDOFF.md and README.md. No production code was changed and nothing was pushed or merged to main.\n\nThe review covered the approved cloud-mobile design and frozen C1-C4/IPC contracts, current PWA/gateway/server/control-plane code, desktop cowork behavior, delivery records, and the Rakazo reference system read-only. The plan now has a capability matrix, shared target architecture, dependency-ordered WP0-WP5 packages, contract-CR candidates, acceptance scenarios, telemetry, migration rules, and rollout gates.\n\nKey evidence found: the current mobile default creates bot-less sessions with metabotId=null rather than reliably selecting the Twin; stream events are not isolated by session; the simplified mobile projection loses desktop Assistant semantics; AskUserQuestion is reduced to raw JSON allow/deny; resync depends on a fragile local streaming flag; real C3 login exists on a branch but is still mock-only on main.\n\nThe plan prioritizes WP0 real-login/provenance/test baselines, WP1 a shared per-session Twin core and full permission/recovery behavior, WP2 real work/artifacts/tasks, WP3 account/Bot/skills/memory/billing breadth, WP4 full demo and cloud hardening, then WP5 mobile optimization and native readiness. Frozen contracts remain unchanged; required changes go through CRs. All deployments must come from main.\n\nVerification performed: 126 mobile TS tests plus 3 static tests passed; mobile production bundles and budgets passed; 156 control-plane tests plus build/lint passed (with a Node 26 vs declared Node 24 caveat); real C2 gateway chat and signed-file E2E passed 2/2; DSH dependency and kernel-patch checks passed. Pixel mock E2E passed 12/13, with one stale quota-copy assertion failing. Full pnpm test stopped after 176/177 first-group tests because standingPages:create is untiered, now explicitly included as WP0 contract debt.\n\niPhone/WebKit, physical-device staging, and real-model tenant task-quality runs were not executed and are explicitly marked NOT RUN, not passed. The next implementation step is WP0: integrate the existing real-C3 login work, establish a main-built staging baseline, and land deterministic multi-session/Twin/permission reproductions before the shared-core refactor.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}