@stevecastaneda/paseo-progress 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/client/panel.tsx +3 -2
- package/package.json +1 -1
- package/skills/paseo-progress/SKILL.md +10 -0
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ A plugin for Paseo 0.9 and later that gives each worktree a live progress dashbo
|
|
|
7
7
|
The dashboard shows:
|
|
8
8
|
|
|
9
9
|
- the run's title, a headline ("2 of 4 tickets done, 5 questions waiting for you, 1 stuck"), a one-line "now" ticker, and when it was last updated
|
|
10
|
-
- a "possibly stale" warning after 15 minutes with no update while tickets remain, unless Paseo shows an agent in the workspace still running
|
|
10
|
+
- a "possibly stale" warning after 15 minutes with no update while tickets remain, unless Paseo shows an agent in the workspace still running, and never once every ticket is done or skipped or the run is finished; working items swap their spinner for a pulsing amber warning
|
|
11
11
|
- percent of estimated work done, time done of time estimated (like "1 h 30 min of 2 h"; once everything is done, how long it really took), and a bar with one segment per ticket
|
|
12
12
|
- **Stuck:** blocked tickets, working tickets with no update for longer than their estimate, and blockers the agent flags
|
|
13
13
|
- **Tickets:** estimate, status, and the working ticket's stage. A ticket that waits for another (`--waits-for T03`) shows "Waits for Ticket 03" under its title until that one is done; waiting is the order of work, so it never counts as stuck, even if the agent also marked it blocked. Press a ticket for its story in a dialog. A summary on top shows its status and stage, time worked against the estimate as a bar that turns red past it, the agent's latest status line while it's working, and the agent on it. Tabs below hold the rest, each only when it has something: the ticket's write-up when it has a `--source` file (the start of it, with the rest a press away), a timeline of its stages and statuses with how long each took, and the activity, questions and deliverables that belong to it. The agent on a ticket shows by its chat title; pressing it opens that chat. Items tagged with `--ticket` belong exactly; older, untagged ones are matched by when they happened and marked "by time"
|
|
@@ -96,6 +96,7 @@ paseo-progress finish "Snapshots ship for all four tables"
|
|
|
96
96
|
- `question ask` needs `--recommend`, the agent's pick. The question dialog tags that option "Recommended".
|
|
97
97
|
- Deliverable paths are stored relative to the worktree root. Web links open in Paseo's browser. Pressing an image (PNG, JPEG, GIF, WebP, up to 10 MB) or text deliverable (Markdown, text, logs, JSON, YAML, CSV; the first 256 KB) previews it in a dialog inside Paseo, which also works from a phone; **Open** there opens the file in its default app. Pressing any other local deliverable opens it with its default app on the machine running the Paseo daemon (for example HTML in your browser and folders in the file manager). On macOS, **Open** sends text files to your default browser. Only recorded deliverables inside the worktree open this way; otherwise the path is copied. The copy icon on each row copies the path.
|
|
98
98
|
- Several agents can share one run. When another session adds a ticket, each agent sees it at the end of its next command's output (and in `show`), and the skill has it work that ticket in order after its current one. An agent only hears about tickets added since its own last update in the run, and only once.
|
|
99
|
+
- Subagents record their own progress. Since Paseo 0.11, an agent waiting on background subagents shows as idle, so only the subagents' updates show the work is still going. The skill has the agent give each subagent the worktree path and ticket id, and the subagent records its stages and a ticker line on that worktree's dashboard.
|
|
99
100
|
- `start` begins a fresh dashboard. Earlier runs stay in the file. Question references stay unique across runs.
|
|
100
101
|
- `finish "<outcome>"` closes the run once every ticket is done or skipped, no question is open, and nothing is flagged stuck; otherwise it says what is left. The run stays on the dashboard, marked Finished with its outcome, and takes no more updates, so the next agent in the worktree starts a new run instead of adding to it.
|
|
101
102
|
|
|
@@ -107,6 +108,7 @@ The progress file, `progress.jsonl`, holds one JSON event per line, each with a
|
|
|
107
108
|
|
|
108
109
|
- An agent hears about tickets other sessions added only when it next runs `paseo-progress`. One in the middle of a long step finds out when that step ends.
|
|
109
110
|
- Nothing updates unless the agent runs `paseo-progress`. Agents need the skill, and an agent that skips the command leaves the dashboard behind.
|
|
111
|
+
- On Paseo 0.11 and later, an agent waiting on background subagents counts as idle. If those subagents record nothing, the dashboard shows "possibly stale" after 15 minutes while they're still working.
|
|
110
112
|
- The command runs on the machine that hosts the Paseo daemon, and it needs Node.js 22.18 or later there.
|
|
111
113
|
- Each worktree keeps its own dashboard. There's no view across worktrees.
|
|
112
114
|
- Progress folders outside the repo stay behind when a worktree is deleted. They're small, and you can delete them from `~/.local/state/paseo-progress/`.
|
|
@@ -127,6 +129,10 @@ npm run dev
|
|
|
127
129
|
|
|
128
130
|
## Changelog
|
|
129
131
|
|
|
132
|
+
### 0.3.3
|
|
133
|
+
|
|
134
|
+
- The skill now has subagents record their own progress, so the dashboard stops warning "possibly stale" while they work. Since Paseo 0.11, an agent waiting on background subagents shows as idle. After 15 minutes with no update, the dashboard said the work may have stopped even though the subagents were still at it. Now the agent gives each subagent the worktree path and ticket id, and the subagent records its stages and a ticker line. If the Progress panel shows **Update skill** after you update, press it so agents get the new instructions.
|
|
135
|
+
|
|
130
136
|
### 0.3.2
|
|
131
137
|
|
|
132
138
|
- The plugin's page in Paseo's plugin store now uses the plugin's own description instead of text the store copied from paseo.cafe.
|
package/client/panel.tsx
CHANGED
|
@@ -36,8 +36,9 @@ export function ProgressPanel(props: PluginWorkspacePanelProps) {
|
|
|
36
36
|
function WorkspaceProgress({ theme, workspaceId, host, layout, navigation }: PluginWorkspacePanelProps) {
|
|
37
37
|
const colors = theme.colors;
|
|
38
38
|
const directory = useWorkspace(workspaceId, (workspace) => workspace.directory);
|
|
39
|
-
// Paseo marks the workspace running while any of its agents is
|
|
40
|
-
// waiting on subagents
|
|
39
|
+
// Paseo marks the workspace running while any of its agents is. Since 0.11 a Claude
|
|
40
|
+
// agent waiting on background subagents counts as idle, so those subagents record
|
|
41
|
+
// progress themselves (see the skill).
|
|
41
42
|
const agentRunning = useWorkspace(workspaceId, (workspace) => workspace.status === "running") ?? false;
|
|
42
43
|
const query = useDashboard(host.id, workspaceId, directory);
|
|
43
44
|
const result = query.data ?? null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stevecastaneda/paseo-progress",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "A live progress dashboard per worktree for Paseo, drawn from a file agents write with the paseo-progress command.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Steve Castaneda",
|
|
@@ -39,6 +39,16 @@ Other sessions may add tickets (or steps) to the same run. When a command's outp
|
|
|
39
39
|
|
|
40
40
|
A working ticket turns stuck on its own once it goes longer than its estimate without an update: a status, stage or note change, or activity tagged to it. When a ticket will run long, keep updating its stage, or raise its estimate with `--estimate`.
|
|
41
41
|
|
|
42
|
+
A subagent records the work you hand it. Paseo shows you as idle while you wait on it, so its updates are the only sign the work is still going; after 15 minutes without one, the dashboard warns that the work may have stopped. Mark the ticket working, then put this in the subagent's prompt with this worktree's absolute path and the ticket id filled in:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
Record progress on the Paseo dashboard as you work:
|
|
46
|
+
- at each new stage: cd <worktree> && paseo-progress ticket update T03 --stage <stage>
|
|
47
|
+
- between stages: cd <worktree> && paseo-progress ticker set "<what you are doing now>"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The `cd` puts the updates on this worktree's dashboard even when the subagent works in another checkout. When the subagent reports back, mark the ticket done.
|
|
51
|
+
|
|
42
52
|
## 3. Ask questions, and work around them
|
|
43
53
|
|
|
44
54
|
When a decision belongs to the user, ask it, then park everything the answer affects:
|