docs(us-015): add Part 4 — per-story agent/worktree/summary in dashboard
Each story shows an optional second line: agent · status · worktree path (if not main) · last output summary Sources: git worktree list, agent-config.json, session.json, completionNotes, git log on feat/<id> branch, iteration logs. --compact flag suppresses metadata lines. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -138,3 +138,41 @@ The OpenRouter model is set via `--model` (e.g. `openai/gpt-4o`, `mistralai/mist
|
||||
- `ralph_progress.py run-next --agent custom --agent-cmd ./my-agent.sh` runs a task via custom script
|
||||
- `python -m pytest` passes from repo root
|
||||
- Commit only this story's changes
|
||||
|
||||
---
|
||||
|
||||
## Part 4: Per-story metadata in dashboard
|
||||
|
||||
Every story in the dashboard gets an optional second line showing what is known about it:
|
||||
|
||||
```
|
||||
✓ US-012 12 — Real PyTorch model backend
|
||||
codex · done · "Added model_backend.py with bitsandbytes NF4 support"
|
||||
⚡ US-014 14 — Tracker-as-first-layer-node
|
||||
codex · in-progress · worktree: ../AI-worktree-us-014
|
||||
→ US-015 15 — Ralph agent-agnostic runner
|
||||
claude · in-progress · worktree: ../AI-worktree-us-015
|
||||
```
|
||||
|
||||
### Sources
|
||||
|
||||
| Data | Source |
|
||||
|------|--------|
|
||||
| Active worktree path | `git worktree list --porcelain` — match branches `feat/<story-id>` |
|
||||
| Agent (active story) | `.ralph-tui/agent-config.json` → `agent` field |
|
||||
| Agent (completed story) | `.ralph-tui/session.json` → `agentPlugin`; or `completionNotes` text |
|
||||
| Last output summary | `story.completionNotes` (done); latest `git log -1 --format=%s feat/<id>` (worktree); last lines of most recent `.ralph-tui/iterations/<hash>_<date>_<id>.log` (in-progress) |
|
||||
|
||||
### Behaviour
|
||||
|
||||
- Metadata line is omitted if there is nothing to show (no agent, no worktree, no notes)
|
||||
- Default: shown (verbose). `--compact` flag suppresses it for a tighter one-line-per-story view
|
||||
- `_active_worktrees() -> dict[story_id, rel_path]` helper, called once per dashboard render
|
||||
- `_story_meta(story, worktrees, session) -> str | None` helper returns the joined metadata string
|
||||
|
||||
### Additional acceptance criteria
|
||||
|
||||
- `ralph_progress.py show` displays worktree path for any story whose branch exists as `feat/<story-id>`
|
||||
- Agent name appears next to in-progress and recently-completed stories
|
||||
- `completionNotes` from prd.json appears as the summary for done stories
|
||||
- `--compact` suppresses metadata lines
|
||||
|
||||
Reference in New Issue
Block a user