# Renderer writes of the window layout and per-view selection fields, per file: assignments,
# deletes, object keys and string keys (computed-key writes). Same-name copies are reads.
# This is a RATCHET: counts may only GO DOWN. Layout comes from the runtime; send a command
# instead. Prune after removing writes: pnpm check:layout-writer-ratchets --prune
3 src/renderer/src/attention/notification-subject-owner.ts
1 src/renderer/src/components/activity/use-agent-pane-threads.ts
3 src/renderer/src/components/cmd-j/palette-live-status.tsx
2 src/renderer/src/components/dashboard/worktree-agent-rows-cache.ts
1 src/renderer/src/components/sidebar/workspace-card/activity/use-worktree-activity-status.ts
1 src/renderer/src/components/sidebar/workspace-card/activity/use-worktree-activity-statuses.ts
4 src/renderer/src/components/sidebar/workspace-card/activity/worktree-card-send-target-inputs.ts
4 src/renderer/src/components/sidebar/worktree-list/listing/use-agent-send-target.ts
1 src/renderer/src/components/status-bar/workspace-space-decision-inputs.ts
2 src/renderer/src/components/tab-bar/terminal-tab-activity-status.ts
3 src/renderer/src/components/tab-bar/use-tab-bar-runtime-model-worktree-write-probe.ts
1 src/renderer/src/components/tab-group/useTabGroupWorkspaceModel.ts
4 src/renderer/src/components/terminal-pane/render-health/recovery/terminal-recovery-ledger-test-store.ts
3 src/renderer/src/components/worktree-jump/worktree-jump-palette-status-inputs.ts
1 src/renderer/src/lib/agent-session/hibernation/agent-hibernation-coordinator.ts
4 src/renderer/src/components/floating-terminal/floating-workspace-terminal-actions.ts
1 src/renderer/src/runtime/browser/client-hosting/client-hosted-browser-row-state.ts
4 src/renderer/src/lib/workspace/persistence/session-write-subscriber.ts
1 src/renderer/src/lib/workspace/persistence/workspace-session-browser-tabs.ts
7 src/renderer/src/lib/workspace/persistence/workspace-session-host-hydration.ts
7 src/renderer/src/lib/workspace/persistence/workspace-session-hydration-keys.ts
25 src/renderer/src/lib/workspace/persistence/workspace-session-patch.ts
3 src/renderer/src/lib/workspace/persistence/workspace-session-staged-browser-tabs.ts
1 src/renderer/src/lib/workspace/persistence/workspace-session-unified-tabs.ts
17 src/renderer/src/lib/workspace/persistence/workspace-session.ts
13 src/renderer/src/runtime/browser/creation/testing/web-runtime-browser-creation-placement-test-rig.ts
3 src/renderer/src/runtime/hosted-terminals/recovery/adoption/web-session-terminal-recovery-snapshot-validation.ts
1 src/renderer/src/runtime/hosted-terminals/recovery/surfaces/web-session-terminal-orphan-recovery-surface.ts
2 src/renderer/src/runtime/hosted-terminals/recovery/surfaces/web-session-terminal-orphan-topology.ts
3 src/renderer/src/runtime/local-structured-session-tabs-sync/snapshot-projection.ts
3 src/renderer/src/runtime/native-chat/tab-retirement/structured-agent-session-tab-retirement.ts
10 src/renderer/src/runtime/sync-runtime-graph/mobile-session-group-projection.ts
2 src/renderer/src/runtime/sync-runtime-graph/mobile-session-snapshots.ts
2 src/renderer/src/runtime/sync-runtime-graph/sync-key.ts
1 src/renderer/src/runtime/web-session-tabs-sync/agent-status-primitives.ts
8 src/renderer/src/runtime/web-session-tabs-sync/apply-active-state.ts
18 src/renderer/src/runtime/web-session-tabs-sync/apply-final-patch.ts
2 src/renderer/src/runtime/web-session-tabs-sync/apply-preparation-groups.ts
5 src/renderer/src/runtime/web-session-tabs-sync/apply-terminal-records.ts
4 src/renderer/src/runtime/web-session-tabs-sync/apply-worktree-records.ts
1 src/renderer/src/runtime/web-session-tabs-sync/inventory/web-runtime-session-snapshot.ts
3 src/renderer/src/runtime/web-session-tabs-sync/placement/web-session-client-owned-tab-placement.ts
2 src/renderer/src/runtime/web-session-tabs-sync/session-tabs-inventory-absence.ts
10 src/renderer/src/store/slices/browser/cleanup/browser-close-actions.ts
2 src/renderer/src/store/slices/browser/create-browser-slice.ts
1 src/renderer/src/store/slices/browser/hydration/browser-hydration-state.ts
5 src/renderer/src/store/slices/browser/pages/browser-page-focus-actions.ts
2 src/renderer/src/store/slices/browser/pages/browser-page-state-actions.ts
1 src/renderer/src/store/slices/browser/profiles/browser-profile-switch-actions.ts
1 src/renderer/src/store/slices/browser/tabs/browser-tab-actions.ts
4 src/renderer/src/store/slices/browser/tabs/browser-tab-focus-actions.ts
5 src/renderer/src/store/slices/browser/tabs/browser-tab-open-view.ts # extracted from browser-tab-actions.ts
9 src/renderer/src/store/slices/editor/checks/check-run-details-actions.ts
6 src/renderer/src/store/slices/editor/closing/close-file-action.ts
10 src/renderer/src/store/slices/editor/closing/recently-closed-editor-tabs.ts
1 src/renderer/src/store/slices/editor/file-ids/hydrated-editor-file-ids.ts
2 src/renderer/src/store/slices/editor/file-ids/hydrated-editor-file-selection.ts
1 src/renderer/src/store/slices/editor/file-ids/open-file-path-rekey.ts
2 src/renderer/src/store/slices/editor/file-ids/rekey-open-files-action.ts
1 src/renderer/src/store/slices/editor/git/git-status-actions.ts
3 src/renderer/src/store/slices/editor/git/open-combined-diff.ts
1 src/renderer/src/store/slices/editor/git/open-conflict-file.ts
6 src/renderer/src/store/slices/editor/git/open-conflict-review.ts
2 src/renderer/src/store/slices/editor/git/open-history-diff.ts
1 src/renderer/src/store/slices/editor/git/open-unstaged-diff.ts
4 src/renderer/src/store/slices/editor/hydration/hydrated-editor-session-state.ts
5 src/renderer/src/store/slices/editor/hydration/restored-editor-owner-in-place.ts
10 src/renderer/src/store/slices/editor/hydration/restored-editor-owner-transition.ts
3 src/renderer/src/store/slices/editor/markdown/markdown-preview-actions.ts
3 src/renderer/src/store/slices/editor/opening/open-file-apply.ts
3 src/renderer/src/store/slices/editor/opening/open-file-mutations.ts
7 src/renderer/src/store/slices/editor/opening/open-file-state.ts
4 src/renderer/src/store/slices/editor/tabs/editor-open-target-group.ts
1 src/renderer/src/store/slices/editor/tabs/workspace-editor-files.ts
4 src/renderer/src/store/slices/tabs/create-tabs-slice.ts
12 src/renderer/src/store/slices/tabs/rename-worktree-layout.ts
2 src/renderer/src/store/slices/tabs/tab-group-reference-repair.ts
4 src/renderer/src/store/slices/tabs/tab-group-state.ts
9 src/renderer/src/store/slices/tabs/tabs-close-actions.ts
14 src/renderer/src/store/slices/tabs/tabs-create-actions.ts
22 src/renderer/src/store/slices/tabs/tabs-drag-preview-actions.ts
11 src/renderer/src/store/slices/tabs/tabs-drop-actions.ts
8 src/renderer/src/store/slices/tabs/tabs-empty-workspace.ts
4 src/renderer/src/store/slices/tabs/tabs-focus-actions.ts
12 src/renderer/src/store/slices/tabs/tabs-group-actions.ts
1 src/renderer/src/store/slices/tabs/tabs-host-mirroring.ts
1 src/renderer/src/store/slices/tabs/tabs-hydration.ts
8 src/renderer/src/store/slices/tabs/tabs-label-actions.ts
10 src/renderer/src/store/slices/tabs/tabs-move-actions.ts
4 src/renderer/src/store/slices/tabs/tabs-reconciliation-batch.ts # split from tabs-reconciliation.ts (9 -> 2 + 4)
2 src/renderer/src/store/slices/tabs/tabs-reconciliation.ts
4 src/renderer/src/store/slices/tabs/tabs-session-actions.ts
1 src/renderer/src/store/slices/tabs/tabs-split-ratio-actions.ts
5 src/renderer/src/store/slices/tabs/tabs-surface.ts
19 src/renderer/src/store/slices/tabs/worktree-layout-lifecycle.ts
3 src/renderer/src/store/slices/tabs/worktree-terminal-tab-respawn.ts # moved unchanged out of worktree-layout-lifecycle.ts (24 -> 19 + 3)
5 src/renderer/src/store/slices/worktrees/session/set-active-worktree.ts
2 src/renderer/src/store/slices/worktrees/session/worktree-slice-lookups.ts
6 src/renderer/src/store/terminals/create-terminal-slice.ts
5 src/renderer/src/store/terminals/terminal-layout-state.ts
6 src/renderer/src/store/terminals/terminal-orphan-cleanup.ts
2 src/renderer/src/store/terminals/terminal-pane-hibernation.ts
3 src/renderer/src/store/terminals/terminal-pty-bindings.ts
2 src/renderer/src/store/terminals/terminal-pty-release.ts
1 src/renderer/src/store/terminals/terminal-shutdown-guards.ts
3 src/renderer/src/store/terminals/terminal-shutdown-state.ts
1 src/renderer/src/store/terminals/terminal-tab-agent-launch-pane.ts
2 src/renderer/src/store/terminals/terminal-tab-appearance.ts
6 src/renderer/src/store/terminals/terminal-tab-close.ts
10 src/renderer/src/store/terminals/terminal-tab-creation.ts
7 src/renderer/src/store/terminals/terminal-tab-navigation.ts
3 src/renderer/src/store/terminals/terminal-tab-presentation.ts
2 src/renderer/src/store/terminals/terminal-tab-title-batch.ts
5 src/renderer/src/store/terminals/workspace-terminal-hydration-patch.ts
2 src/renderer/src/store/terminals/workspace-terminal-hydration.ts
2 src/renderer/src/store/terminals/workspace-terminal-reconnect.ts
7 src/renderer/src/store/workspace-layout/frames/workspace-layout-frame-held-tabs.ts
4 src/renderer/src/store/workspace-layout/frames/workspace-layout-frame-slices.ts
12 src/renderer/src/store/workspace-layout/frames/workspace-layout-frame-store-patch.ts
