From 8ea70ff6a0ff066f3c80482d926a6f23438e9198 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 29 Jun 2026 16:21:57 +0300 Subject: [PATCH] =?UTF-8?q?docs(us-015):=20add=20Part=204=20=E2=80=94=20pe?= =?UTF-8?q?r-story=20agent/worktree/summary=20in=20dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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/ branch, iteration logs. --compact flag suppresses metadata lines. Co-Authored-By: Claude Sonnet 4.6 --- .../15-ralph-agent-agnostic-status-aware.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/.scratch/distributed-inference-network/issues/15-ralph-agent-agnostic-status-aware.md b/.scratch/distributed-inference-network/issues/15-ralph-agent-agnostic-status-aware.md index f43ad2d..61ed493 100644 --- a/.scratch/distributed-inference-network/issues/15-ralph-agent-agnostic-status-aware.md +++ b/.scratch/distributed-inference-network/issues/15-ralph-agent-agnostic-status-aware.md @@ -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/` | +| 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/` (worktree); last lines of most recent `.ralph-tui/iterations/__.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/` +- 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