write down the north star: agents coordinating with each other
docs/agent-coordination.md is the objective the workspace/panel work serves — several agents on one dashboard handing work to each other instead of routing every step through the human, with the human authoring the workflow at the top. Written from the owner's own words during the 2026-08-07 conversation; where a section records a decision, that decision is his. It settles the questions that were blocking: sessions may be reaped and resumed from the durable sessionKey→claudeSessionId map (no heartbeat), the address is the human-assigned panel name rather than the panel id, roles are prompts rather than features, and the protocol is turn-boundary-only by construction — which routes around the mid-output restart failure instead of fixing it. Cross-referenced from CLAUDE.md, workspace-panels.md and workspace-panel-todo.md so it is findable from any of them. The todo is still ordered by defect severity and now says so; the re-rank against the objective is deferred, not forgotten. Also corrects two items dated 2026-08-08 to the day they were actually found. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,10 @@ Move anything fully settled to §7.
|
||||
**How the framework actually works is documented separately, in `workspace-panels.md`** — read that
|
||||
first if you are new to it. This file is only the defect list and the work queue.
|
||||
|
||||
**Why any of it matters is in `agent-coordination.md`** — the north star. This list is currently ordered
|
||||
by defect severity; it is to be **re-ranked against that objective**, and until that happens an item's
|
||||
position here says nothing about its importance to the goal.
|
||||
|
||||
Findings and full reasoning: `COMMS/workspace-panel-framework-analysis-2026-08-07.md`. Every `file:line`
|
||||
below was opened; DB claims were run against live `officer_dev`. Paths are relative to
|
||||
`platform/src/workspaces/officerdev/src/` unless they start with `servers/`, `databases/` or `sidecars/`.
|
||||
@@ -61,7 +65,7 @@ Both are two-line fixes, and without them you cannot tell whether any later fix
|
||||
(`databases/officer_db/src/queries/dashboards.ts:70`) → 23502.
|
||||
|
||||
- [ ] **`HostTerminalWrapper` never strips the prefix, so it mints phantom dashboards.** *(found
|
||||
2026-08-08, latent — `dashboards` is still 0 rows)*
|
||||
2026-08-07, latent — `dashboards` is still 0 rows)*
|
||||
`apps/Terminal/HostTerminalWrapper.tsx:12` is `` `ws-host-terminals-${dashboardId}` `` with **no
|
||||
regex**, while its sibling `TerminalWrapper.tsx:13-14` correctly matches `^ws-layout-(.+)$` first.
|
||||
So the key becomes `ws-host-terminals-ws-layout-<id>` or `ws-host-terminals-screens/terminal`, the
|
||||
@@ -327,7 +331,7 @@ All the same bug: an app guessing "am I being closed?" from an unmount, or payin
|
||||
(`frontend.tsx:15-21`) with no per-route scoping, and `reset` is called nowhere.
|
||||
Authority: `docs/navigation-audit.md`.
|
||||
|
||||
### 5.9 The context has grown an app-config section — *(found 2026-08-08)*
|
||||
### 5.9 The context has grown an app-config section — *(found 2026-08-07)*
|
||||
|
||||
`WorkspaceContext` is 18 fields, of which the framework itself reads none of the first six. Apps never
|
||||
touch the framework half, so the abstraction holds in one direction; the leak is entirely outbound.
|
||||
@@ -354,7 +358,7 @@ touch the framework half, so the abstraction holds in one direction; the leak is
|
||||
inside a `DashboardPreview` fall through to the `createContext` defaults. Whatever survives the
|
||||
three items above should be constructed in one place, not twice by hand.
|
||||
|
||||
### 5.10 Channel hygiene — *(found 2026-08-08)*
|
||||
### 5.10 Channel hygiene — *(found 2026-08-07)*
|
||||
|
||||
Cheap to fix, and prerequisites for the 5.8 migration rather than alternatives to it.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user