Skip to content

feat(console): channel delete, unread badges, harness tag, skills in detail#211

Open
Lanzelot1 wants to merge 1 commit into
feat/console-attachfrom
feat/console-gaps
Open

feat(console): channel delete, unread badges, harness tag, skills in detail#211
Lanzelot1 wants to merge 1 commit into
feat/console-attachfrom
feat/console-gaps

Conversation

@Lanzelot1

Copy link
Copy Markdown
Collaborator

Closes the remaining web-dashboard-parity gaps in the console TUI (all but the graph rendering, deliberately deferred), plus the harness marker.

What

  • :delchan <channel> — delete one channel's history + registry entry. Extends the manager's admin purge op with an optional channel arg (one purge grammar): a filtered STREAM.PURGE across all senders plus the channel-registry key delete via core clearChannel — the web dashboard's delete path — under a per-op channel-purger mint (the role holding exactly the scoped purge + channel-KV grants). Wildcards rejected. Console side: palette verb behind a type-the-channel-name confirm (same pattern as purge); the active tab falls back to all if it was the one deleted.
  • Per-channel unread badges — inactive channel tabs show a yellow +N (messages since that channel was last viewed), like the web sidebar's pill. Viewer-local watermarks over the cumulative channel counts: baseline at startup (history is not unread), viewing pins, stream rewinds (purge/delchan) clamp.
  • Harness tag + runs/model/skills in detail — the roster tags each agent with what it is (cc = Claude Code, oc = OpenCode, hm = Hermes, else the connector's first two letters) from the card's self-published meta.connector, falling back to the manager's launch record via the existing ps merge (widened from paused-only). Agent detail (Enter) adds runs (connector · runtime), model, and the card's skills list. Omitted when unknown — never faked.

Verification

  • smoke:purge-channel:live (new): real auth broker + Manager — narrow purge leaves other channels intact, wildcard rejected, arg-less op still space-purges (6/6).
  • smoke:console-gaps:live (new): the real console TUI under node-pty — no fake unread at startup, badges accrue and viewing pins the watermark, harness tag renders, detail shows runs/model/skills, the full :delchan confirm flow, clean quit (14/14).
  • smoke:console-attach:live (13/13) and smoke:attach-control:live (4/4) stay green; pnpm typecheck clean.

Docs: protocol-view.md control section + feature map updated; web.md's stale "dashboard is read-only" reconciled with its existing channel-delete write path.

Stacked on #209.

@Lanzelot1 Lanzelot1 force-pushed the feat/console-attach branch from 458f900 to 65fa084 Compare July 8, 2026 08:35
@Lanzelot1 Lanzelot1 force-pushed the feat/console-gaps branch from d09772d to 7ddb6f4 Compare July 8, 2026 08:35
@Lanzelot1 Lanzelot1 force-pushed the feat/console-attach branch from 65fa084 to 321606b Compare July 8, 2026 08:51
@Lanzelot1 Lanzelot1 force-pushed the feat/console-gaps branch from 7ddb6f4 to 955bf34 Compare July 8, 2026 08:51
@Lanzelot1 Lanzelot1 force-pushed the feat/console-attach branch from 321606b to 2c1cc68 Compare July 8, 2026 09:07
@Lanzelot1 Lanzelot1 force-pushed the feat/console-gaps branch from 955bf34 to 6b3c51b Compare July 8, 2026 09:07
@Lanzelot1 Lanzelot1 force-pushed the feat/console-attach branch from 2c1cc68 to 388a40a Compare July 8, 2026 09:19
@Lanzelot1 Lanzelot1 force-pushed the feat/console-gaps branch from 6b3c51b to ca2ccec Compare July 8, 2026 09:19
…detail

Close the remaining web-parity gaps and add the harness marker:
- :delchan <channel> — the manager's admin purge op narrowed by a channel arg
  (filtered purge + registry key delete via clearChannel, per-op channel-purger
  mint), behind a type-the-channel-name confirm.
- Channel tabs carry a +N unread badge — viewer-local watermark over the
  cumulative counts; baseline at startup, viewing pins, rewinds clamp.
- Roster rows tag each agent's harness (cc/oc/hm from card meta.connector or
  the manager's ps record); agent detail adds runs / model / skills.
Two live smokes: the purge op server-side, and the full TUI flows under
node-pty. docs/web.md's read-only claim reconciled with the dashboard's
existing channel-delete write path.
@Lanzelot1 Lanzelot1 force-pushed the feat/console-attach branch from 388a40a to 47dfed1 Compare July 8, 2026 09:42
@Lanzelot1 Lanzelot1 force-pushed the feat/console-gaps branch from ca2ccec to 2792a6c Compare July 8, 2026 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant