IW-678: Claude session links for versioned binaries, per-agent config dirs, and the / board #742

Merged
mph merged 17 commits from IW-678 into main 2026-10-07 07:32:59 +00:00
Member

Summary

Closes three gaps in the Claude Code Remote Control session links:

  1. The agent lane finds Claude Code processes that start from a versioned binary (.../claude/versions/<v>) and a claimed claude bg-spare. Helper processes (claude bg-pty-host, ugrep) are not counted.
  2. Each agent's transcript is read from the config directory in that agent's own CLAUDE_CONFIG_DIR, not from the two fixed paths ~/.claude and ~/.claude-iw.
  3. The / waiting board and the agent lane show a "Claude" link on each card. A card is a div with a stretched primary link and a sibling Claude row, so no <a> is inside an <a>. An unreadable session registry shows a message, not an empty row.

Changes

  • Phase 1 (domain + infrastructure): LiveAgent, ClaudeConfigDir, ProcessEnviron; LiveAgentReader, TranscriptReader, AgentSessionService, ServerDaemon.
  • Phase 2 (#739, presentation + routes): WaitingListView, AgentSessionsView, DashboardPage, WorktreeLinks, CaskServer, dashboard.css, scripts/verify-fixture.sh.

Review packet: project-management/issues/IW-678/review-packet.md.

Known limits

  • A Remote Control session under a config directory different from the server's gets no Claude link (scope decision in the analysis; filed as #740).
  • A worktree with no detected agent reads its last activity only from the server's config directory (#740).
  • Review warnings deferred to #740 and #741.

Testing

  • Unit: new LiveAgentTest, ClaudeConfigDirTest, ProcessEnvironTest, NestedLinksTest; extended reader, service, view and page tests; DashboardLayeringTest passes.
  • Integration: ClaudeSessionLinksItest has a positive board test and an agent-lane test with a real claude-named process.
  • E2E: test/verify-fixture.bats 9/9; manual browser check of / (card opens the worktree, "Claude" opens the session, Tab reaches both).
  • CI ran green on each phase PR.

Release notes

See project-management/issues/IW-678/release-notes.md (Czech).

🤖 Generated with Claude Code

Closes #678

## Summary Closes three gaps in the Claude Code Remote Control session links: 1. The agent lane finds Claude Code processes that start from a versioned binary (`.../claude/versions/<v>`) and a claimed `claude bg-spare`. Helper processes (`claude bg-pty-host`, `ugrep`) are not counted. 2. Each agent's transcript is read from the config directory in that agent's own `CLAUDE_CONFIG_DIR`, not from the two fixed paths `~/.claude` and `~/.claude-iw`. 3. The `/` waiting board and the agent lane show a "Claude" link on each card. A card is a `div` with a stretched primary link and a sibling Claude row, so no `<a>` is inside an `<a>`. An unreadable session registry shows a message, not an empty row. ## Changes - Phase 1 (domain + infrastructure): `LiveAgent`, `ClaudeConfigDir`, `ProcessEnviron`; `LiveAgentReader`, `TranscriptReader`, `AgentSessionService`, `ServerDaemon`. - Phase 2 (#739, presentation + routes): `WaitingListView`, `AgentSessionsView`, `DashboardPage`, `WorktreeLinks`, `CaskServer`, `dashboard.css`, `scripts/verify-fixture.sh`. Review packet: `project-management/issues/IW-678/review-packet.md`. ## Known limits - A Remote Control session under a config directory different from the server's gets no Claude link (scope decision in the analysis; filed as #740). - A worktree with no detected agent reads its last activity only from the server's config directory (#740). - Review warnings deferred to #740 and #741. ## Testing - Unit: new `LiveAgentTest`, `ClaudeConfigDirTest`, `ProcessEnvironTest`, `NestedLinksTest`; extended reader, service, view and page tests; `DashboardLayeringTest` passes. - Integration: `ClaudeSessionLinksItest` has a positive board test and an agent-lane test with a real `claude`-named process. - E2E: `test/verify-fixture.bats` 9/9; manual browser check of `/` (card opens the worktree, "Claude" opens the session, Tab reaches both). - CI ran green on each phase PR. ## Release notes See `project-management/issues/IW-678/release-notes.md` (Czech). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Closes #678
Claude session links: some sessions and some views are not covered

Artifacts:
- analysis.md
- issue.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Claude session links: some sessions and some views are not covered

Artifacts:
- tasks.md
- review-state.json (tasks_ready)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Issue: IW-678
Phase: 1 - Agent detection + config directories (Domain + Infrastructure readers)

This commit marks the checkpoint for phase 1 context generation.
Use wf-implement IW-678 to return to this point.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent detection + config directories (Domain + Infrastructure readers)

Artifacts:
- phase-01-tasks.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Issue: IW-678
Phase: 2 - Claude links on the `/` board and agent lane (Presentation + route wiring)

This commit marks the checkpoint for phase 2 context generation.
Use wf-implement IW-678 to return to this point.

The analysis High-Level Approach now agrees with the component spec:
the stretched link holds the key, the foot and the agent line (review note 6).

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude links on the `/` board and agent lane (Presentation + route wiring)

Artifacts:
- phase-02-tasks.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(IW-678): review packet and release notes
All checks were successful
CI / dashboard-build (pull_request) Successful in 1m31s
CI / test (pull_request) Successful in 18m27s
CI / format (pull_request) Successful in 10s
CI / changes (pull_request) Successful in 5s
CI / contract (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / compile (pull_request) Successful in 1m38s
cdb70a5aac
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mph merged commit d9e76182fb into main 2026-10-07 07:32:59 +00:00
Sign in to join this conversation.
No description provided.