Commit Graph
19 Commits
Author SHA1 Message Date
pastilhasandClaude Opus 5 04ccb05b2c mark the effect-hygiene items resolved, and correct two of them
Two entries in 5.7 were wrong. HostTerminalWrapper was fixed in c92b51c, when
all three wrappers moved onto useTerminalSession — the item had simply not been
re-read since. And useTaskRunner does not abandon a running task: `stop` is sent
from the modal's Stop button, and closing the socket kills the process tree
server-side. Both were written from the hook alone without following the call
into the modal or the executor.

VideoPlayer and the remaining VideoPlayer-shaped case are left alone on purpose,
with the reason written down rather than the item deleted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:57:10 +00:00
pastilhas e2017cbbf2 correct 5.2: the key was never the cause 2026-08-07 10:46:31 +00:00
pastilhas 34b40cb094 mark preserve-sibling-sizes resolved 2026-08-07 10:41:32 +00:00
pastilhas 4ce7839b31 mark the panel-id and registry-key items resolved 2026-08-07 10:38:59 +00:00
pastilhasandClaude Opus 5 df00f6d7a5 tier b has no unblocked work left
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:16:09 +00:00
pastilhasandClaude Opus 5 49b635a489 drop §5.4's default-layout collapse, and say why
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:15:58 +00:00
pastilhasandClaude Opus 5 d546717676 note the unguarded screens are done too
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:10:32 +00:00
pastilhasandClaude Opus 5 99ee9dbb88 record §5.4's first item as landed
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:07:33 +00:00
pastilhas 2c84bb34be say which shells nobody is looking at
The sidecar has always sent `clients` on each session and this list has always dropped it, so a shell
you are typing into and a shell nothing is attached to rendered identically. It is now on the type,
shown as "N attached", and a zero earns the row an orphan badge — the count only helps if you do not
have to read it to notice.

Also records §5.1 and the whole of §1 in the todo, including that the diff-the-layout implementation
§5.1 used to propose is struck and why.
2026-08-07 09:58:04 +00:00
pastilhas fed2badd28 record the close of §5.9 2026-08-07 09:43:30 +00:00
pastilhas b1e0bac1e0 record the first three items of §5.9 2026-08-07 09:36:27 +00:00
pastilhas b1ec1e19a7 record the close of §4 2026-08-07 09:24:23 +00:00
pastilhas 2efd7ffba3 record §5.5 and the close of tier a 2026-08-07 09:19:59 +00:00
pastilhasandClaude Opus 5 d24f3faa5f record §4: the boundary, validate-on-read, and the layout default
Tier A now has only §5.5 left — the resize debounce and the stale cache.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 09:09:22 +00:00
pastilhasandClaude Opus 5 30eef86972 record what landed: A1, A2, the tests, and what tier A has left
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 08:57:13 +00:00
pastilhasandClaude Opus 5 ecc7fb90d8 rank the panel defects against the objective, not against severity
The re-rank the north star deferred, done now that the MVP is built and
running — so it is ranked against what the mechanism turned out to need.

The finding is that most of the list is not on this path. The mechanism is
server-side and a panel is a pointer to it, so a remount, a re-render or a
drag costs a replay, not a session. Section 5.2 and 5.3 are large downgrades;
5.3 was on the critical path when the north star was written and is disarmed
by resolving identity by name.

What is left is small and mostly one defect wearing four hats: a write that
silently does not land. Panel identity lives in the layout jsonb now, so the
swallowed persist catch, the dispatcher's missing else and the two debounce
lost-updates each become a panel that forgets which agent it is — invisibly,
for exactly as long as nobody is looking.

Also corrects two items the MVP made stale, and promotes layout-utils tests:
e588524 put agent identity inside those mutators and shipped them untested.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 08:40:33 +00:00
pastilhasandClaude Opus 5 7c99429872 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>
2026-08-07 06:58:01 +00:00
pastilhas ce7968ac90 document how the workspace/panel framework works 2026-08-07 04:10:36 +00:00
pastilhasandClaude Opus 5 575b4a5966 add a living todo for the workspace/panel framework
the framework has no tests, no error boundaries and a handful of known
defects that keep resurfacing mid-feature. write them down once, ranked,
so they can be picked off in the context of whatever is being built.

notable: the dashboards PATCH dispatcher silently drops any key family it
has no branch for, and three in use today (tmux, nvim, claude-code, all
from Terminal's statePrefix) match nothing — so that state never persists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 02:58:16 +00:00