Printable idea sheet
zustand_boundary
reqlan rq/codestyle/typescript.rq:167
Katz 0.069
state_machine_mindset still applies: design UI and host flows as state machines.
Zustand is no longer used anywhere: the index lifecycle FSM ( `opening` / `syncing` / `ready` / `error` ),
counts, file issues, and the document-update ring now live in Rust `WorkspaceIndexRuntime` and are read
over napi via `statusSnapshot()` ( native_bridge ); durable diagnostics persist
in `index-diagnostics.sqlite`. TypeScript keeps no parallel copy of that state.
Do not reintroduce zustand ( or Redux-like globals ) in `packages/extension/webviews/**` or the analytical
package. Extension-host TypeScript may keep plain mutable session modules when the surface is small and
message-pushed; owned lifecycle / state machines belong in the Rust runtime.
- apply_to
- *.rq".*webview*, *.rq".*_pane
- implementation
- workspace_index.rs, native-workspace-index.ts, app.svelte.ts, context-session.ts
- status
- done
Interactive page: zustand_boundary