Skip to content

feat(monitor): focus on pstack sessions and show what each agent is doing - #25

Merged
thisguymartin merged 3 commits into
mainfrom
feat/monitor-pstack-scope
Oct 3, 2026
Merged

thisguymartin merged 3 commits into
mainfrom
feat/monitor-pstack-scope

Conversation

@thisguymartin

Copy link
Copy Markdown
Owner

What changed

  • pstack only. The monitor marks a spawn tree as pstack work when any member shows pstack evidence: Claude attribution fields, a pstack: skill, agent, or command, a Codex prompt or runner call naming pstack, or any runner lane. The page shows those trees by default. Show all in the session list, or pstack-monitor start --all, shows every session.
  • Running versus doing something. Sessions group into Working, Open (process alive, waiting for input), and Earlier. Claude sessions without a process record and Claude subagents follow turn boundaries, so a subagent reads done when its own turn ends. A turn-only run silent for 15 minutes reads as stalled instead of running forever.
  • What each agent is doing. Each agent carries its latest prompt and the tool call awaiting a result. Cards, session rows, and the panel's Task and Now lines show them. The lane journal now records the first 300 characters of a lane's prompt.
  • Wider panel. Drag the panel edge or use the widen button; the width persists, and a double-click resets it.
  • Shorter prose. The monitor skill, usage guide, reference, changelog, README entries, CLI help, and page copy are rewritten shorter.

Verification

  • Bun tests, strict typecheck, static invariants, and plugin validation pass.
  • The exact candidate is installed in every affected harness.
  • The changed behavior passes from each real user surface.
  • The installed version, action, and observed result appear below.

Gate: 325 tests pass, bun run typecheck is clean, the four manifests parse, and PSTACK_STATIC_ONLY=1 bash tests/skill-collision-repro.sh passes.

Live evidence:

Checkout build 1.5.0+2322e9d9ab, not an installed plugin. Monitor started from the checkout with pstack-monitor start --parent claude and driven in headless Chrome:

  • Only the three pstack sessions are listed. This Claude Code session sits under Working with its pending Bash call; two killed-mid-turn SDK sessions read stalled under Earlier. Show all lists 16 sessions.
  • Lanes run through pstack-runner from this session attach under it. A Codex lane showed working · 14s with its pending sleep 25 call, then done. MiniMax and DeepSeek lanes (no API keys here) and a Grok lane (CLI not installed) showed failed with the receipt's reason.
  • Dragging the panel edge set it to 905px, the width survived a reload, and a double-click reset it to 460px. At 800px wide the layout collapses to one column.

Still needed before this leaves draft: the installed candidate tested from the Claude Code and Codex surfaces, and a successful MiniMax, DeepSeek, and Grok lane.

A pull request without live evidence remains a draft. Do not merge, tag, release, or roll it out.

…g calls

Adapters now flag pstack work (Claude attribution, pstack skills, agents,
and commands; Codex prompts and runner calls; every lane) and report each
agent's prompt and the tool call awaiting its result. Claude sessions
without a process record and Claude subagents follow turn boundaries, so a
subagent finishes when its own turn ends. The lane journal records the
head of the prompt.
The page shows pstack trees by default; Show all or start --all shows every
session. Sessions group into working, open, and earlier; a turn-only run
silent for 15 minutes reads as stalled. Cards, rows, and the panel show the
task, the pending call, and the latest step. The panel resizes by drag or a
widen button and remembers its width.
@thisguymartin
thisguymartin marked this pull request as ready for review October 3, 2026 19:51
@thisguymartin
thisguymartin merged commit 71f51a1 into main Oct 3, 2026
1 check passed
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