* feat(server): add workspace session read APIs
Expose workspace-scoped session list, detail, message, and snapshot reads so the client can fetch session data without depending on activation choreography.
* feat(app): route mounted session reads through OpenWork APIs
Use the new workspace-scoped session read endpoints for mounted OpenWork clients so the current frontend stops depending on direct session proxy reads for list, detail, message, and todo loading.
* feat(app): add React read-only session transcript
Introduce a feature-gated React island for the session transcript so we can replace the session surface incrementally while keeping the Solid shell intact.
* feat(app): add React session composer surface
Extend the feature-gated React session island to own its draft, prompt send, stop flow, and snapshot polling so the session body can evolve independently from the Solid composer.
* feat(app): add React session transition model
Keep the React session surface stable during session switches by tracking rendered vs intended session state and exposing a developer debug panel for render-source and transition inspection.
* docs(prd): add React migration plan to repo
Copy the incremental React adoption PRD into the OpenWork repo so the migration plan lives next to the implementation and PR branch.
* docs(prd): sync full React migration plan
Replace the shortened repo copy with the full incremental React adoption PRD so the implementation branch and product plan stay in sync.
* feat(desktop): add React session launch modes
Add dedicated Tauri dev and debug-build entrypoints for the React session path and honor a build-time React session flag before local storage so the alternate shell is easy to launch and reproduce.
* fix(app): fall back to legacy mounted session reads
Keep the new app working against older OpenWork servers by falling back to the original mounted OpenCode session reads when the workspace-scoped session read APIs are unavailable.