@@ -142,6 +142,35 @@ write localityd logs in the same folder. The UI should point support and power u
142142to that one directory instead of asking them to inspect terminal output,
143143launchd, and helper logs separately.
144144
145+ Desktop health labels map to separate runtime layers:
146+
147+ - ` Stopped ` means the ` localityd ` daemon is not ready. Background sync, hydration,
148+ and Live Mode are paused until the daemon starts again.
149+ - ` Runtime Needs Repair ` means the platform projection is stopped, unregistered,
150+ or otherwise unavailable. On macOS this is usually File Provider; on Windows it
151+ is Cloud Files; on Linux it is the FUSE projection.
152+ - ` Reconnect Needed ` means a connector credential or workspace connection needs
153+ repair before sync can continue.
154+ - ` Needs Review ` means Locality is running, but one or more files require human
155+ review before push or automatic sync.
156+
157+ The Settings diagnostics surface should include both ` ~/.loc ` and
158+ ` ~/.loc/logs ` . ` desktop.log ` , ` localityd.log ` , ` localityd.err.log ` , and projection
159+ helper logs belong in that one logs directory so support does not have to collect
160+ terminal output, LaunchAgent output, and helper output separately.
161+
162+ In development, schema skew usually means the desktop process and the
163+ ` localityd ` sidecar were built at different times. ` make dev-tauri ` runs
164+ ` prepare-dev-sidecars ` , which must build fresh ` loc ` and ` localityd ` binaries
165+ before restarting the daemon. Direct background launches, LaunchAgent starts, and
166+ ` LOCALITY_DESKTOP_SKIP_DEV_SIDECARS=1 ` bypass that protection, so recovery should
167+ be a sidecar rebuild, not deletion of ` ~/.loc/state.sqlite3 ` :
168+
169+ ``` bash
170+ make prepare-desktop-dev-sidecars
171+ make dev-tauri
172+ ```
173+
145174### 4. Create Workspace Mount
146175
147176The desktop product target is a workspace-level Notion mount using the access
0 commit comments