diff --git a/docs/specs/alert.md b/docs/specs/alert.md index 929bf355..ca0536e9 100644 --- a/docs/specs/alert.md +++ b/docs/specs/alert.md @@ -33,8 +33,6 @@ Public `status` is a projection — first match wins: Persist `status`, `watchingEnabled`, `todo`, and sanitized `notification`. Restore `todo` and `notification`, then restart WATCHING only if `watchingEnabled` is true. Restore must not recreate protocol progress, command-exit arms, or a fresh ring; replay filtering in `docs/specs/terminal-escapes.md` prevents old terminal output from firing notification side effects again. -Source of truth: `migrateTodoState` in `lib/src/lib/alert-manager.ts` defines the legacy-TODO-value migration to boolean. - ## Attention `attentionSessionId` is set only by explicit user actions that plausibly mean "I am looking at this Session": diff --git a/docs/specs/dor-browser.md b/docs/specs/dor-browser.md index 9ae1b2a1..a939d5ca 100644 --- a/docs/specs/dor-browser.md +++ b/docs/specs/dor-browser.md @@ -25,8 +25,8 @@ Two independent axes define a browser pane: | Render | `ab-screencast`, `ab-popout`, `iframe` | The render axis is a pane parameter, not a separate surface type. The `dor` CLI -still reports `iframe` or `agent-browser` as a legacy/informative surface type; -that is derived from `renderMode`. +still reports `iframe` or `agent-browser` as an informative surface type derived +from `renderMode` (never stored). Source of truth: `lib/src/components/wall/BrowserPanel.tsx`, `lib/src/components/wall/browser-surface.ts`, `lib/src/components/Wall.tsx` @@ -46,15 +46,12 @@ type BrowserPanelParams = { wsPort?: number; binaryPath?: string; syncEngaged?: boolean; - poppedOut?: boolean; // legacy migration only }; ``` Invariants: -- `renderMode` is canonical. Legacy params (`surfaceType: 'iframe'`, - `surfaceType: 'agent-browser'`, `poppedOut`) are migrated by - `resolveRenderMode`. +- `renderMode` is canonical. - `url` is the canonical target across render swaps and relaunches. Agent-browser mirrors the newest non-blank active tab URL into params; iframe persists only navigations initiated by Dormouse chrome. @@ -513,7 +510,7 @@ Source of truth: `lib/src/lib/platform/types.ts`, When changing browser-surface behavior: -- `renderMode` is canonical. Never reintroduce `surfaceType: 'iframe' | 'agent-browser'` or `poppedOut` as stored state — extend the `resolveRenderMode` migration instead, and update the kind-mapping table in `docs/specs/glossary.md` if adding a render mode. +- `renderMode` is canonical. Never reintroduce `surfaceType: 'iframe' | 'agent-browser'` or `poppedOut` as stored state; update the kind-mapping table in `docs/specs/glossary.md` if adding a render mode. - Never move a browser surface's DOM. Lath's leaf div is never re-parented, so an `