Preserve daemon sessions when workers stall (#3263)
Stop treating heartbeat silence as proof that a live daemon worker should be destroyed. Crash recovery, explicit lifecycle requests, and supervisor-loss cleanup remain unchanged.
This commit is contained in:
@@ -6,9 +6,7 @@ user-invocable: true
|
||||
|
||||
# Committee Skill
|
||||
|
||||
Two agents from contrasting profiles, fresh context, planning a solution in parallel. They stay alive for review after implementation.
|
||||
|
||||
The purpose is to step back, not double down. The committee may propose a completely different approach.
|
||||
Two agents from contrasting profiles, fresh context, planning a solution in parallel.
|
||||
|
||||
**User's additional context:** $ARGUMENTS
|
||||
|
||||
@@ -35,49 +33,14 @@ If the user names profiles, use those. If fewer than two suitable profiles are c
|
||||
This is analysis only. Do NOT edit, create, or delete any files. Do NOT write code.
|
||||
```
|
||||
|
||||
- **Trust the wait.** Do not poll, send hurry-ups, or interrupt. GPT-5.4 can reason 15–30 minutes; Opus does extended thinking. Long waits mean it found something worth thinking about.
|
||||
- **You are the middleman.** Drive plan → implement → review without yielding to the user, except for divergences that need their call.
|
||||
- **Trust the finish notification.** Do not poll, send hurry-ups, or interrupt. Models can reason for 15–30 minutes. You can go idle and Paseo will notify you.
|
||||
|
||||
## Phase 1: Plan
|
||||
## Workflow
|
||||
|
||||
Write a problem-level prompt:
|
||||
1. Write a problem-level prompt
|
||||
2. Create both agents in parallel via Paseo with `[Committee] <task>` titles and the same prompt
|
||||
3. Wait for both responses
|
||||
4. Resolve disagreements by passing their arguments between each other
|
||||
5. Keep going until they converge into a response
|
||||
|
||||
- High-level goal and acceptance criteria
|
||||
- Constraints
|
||||
- Symptoms (if a bug)
|
||||
- What you tried and why it failed
|
||||
- Explicit: "do root cause analysis"
|
||||
- Explicit: "state assumptions, ask why three levels deep, check whether you're patching a symptom or removing the problem"
|
||||
|
||||
Create both agents in parallel via Paseo with `[Committee] <task>` titles and the same prompt. Wait for both — not just whichever finishes first.
|
||||
|
||||
Read both responses. Challenge them — do not accept at face value:
|
||||
|
||||
- "Why does <underlying thing> happen? Symptom or cause?"
|
||||
- Verify any assumption the plan makes about the code.
|
||||
- "What did you consider and reject?"
|
||||
|
||||
Send follow-ups until the plan addresses root cause.
|
||||
|
||||
Synthesize:
|
||||
|
||||
- Convergence → unified plan.
|
||||
- Significant divergence → involve the user.
|
||||
|
||||
Confirm the merged plan with both members. Multi-turn until consensus.
|
||||
|
||||
## Phase 2: Implement
|
||||
|
||||
Default: implement yourself. If the user said **"delegate"**, launch one impl agent and pass the merged plan.
|
||||
|
||||
The committee stays clean — not involved in implementation.
|
||||
|
||||
## Phase 3: Review
|
||||
|
||||
Send the diff to the committee:
|
||||
|
||||
> Implementation is done. Review changes against the plan. Flag drift or missing pieces. <no-edits suffix>
|
||||
|
||||
Apply feedback yourself, or send to the impl agent. Repeat 2 → 3 until consensus.
|
||||
|
||||
After ~10 iterations without convergence, start a fresh committee with the full history of what was tried — the current committee's context may have drifted too far.
|
||||
Share the consensus with the user. Summarize where the agents diverged and how they resolved it.
|
||||
|
||||
@@ -62,6 +62,4 @@ Prepare the handoff in a dedicated workspace:
|
||||
|
||||
Do not encode independence as a create mode and do not invoke CLI or wire-level detach operations. Detach is a user gesture in the subagents track.
|
||||
|
||||
Leave `notifyOnFinish` omitted unless the user explicitly wants no callback.
|
||||
|
||||
Don't wait by default — the user decides whether to follow along or move on. Tell them the agent ID and how to follow along (the paseo skill explains).
|
||||
Do not wait or poll for the agent to finish.
|
||||
|
||||
@@ -3,7 +3,7 @@ name: paseo
|
||||
description: Paseo reference for managing workspaces, workspace scripts, agents, schedules, and heartbeats.
|
||||
---
|
||||
|
||||
Paseo is a daemon that supervises AI coding agents on your machine. Control it through tools or a CLI.
|
||||
Paseo is a remote daemon that manages coding agents, terminals. Control it through MCP tools or the CLI.
|
||||
|
||||
## Workspaces
|
||||
|
||||
@@ -13,7 +13,7 @@ Paseo is a daemon that supervises AI coding agents on your machine. Control it t
|
||||
|
||||
**`archive_workspace`** — `{ workspaceId }`. Archives the workspace, its agents, and its terminals. Local directories remain; Paseo removes an owned worktree only after its final active workspace reference is archived.
|
||||
|
||||
Worktree creation and reference accounting are implementation details of `isolation: "worktree"`.
|
||||
**`rename_workspace`** — `{ workspaceId, name }`. Rename workspace.
|
||||
|
||||
## Workspace scripts
|
||||
|
||||
|
||||
Reference in New Issue
Block a user