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:
Mohamed Boudra
2026-08-12 10:58:58 +02:00
committed by GitHub
parent d012b6f071
commit 74f2158c45
6 changed files with 20 additions and 225 deletions
+9 -46
View File
@@ -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.
+1 -3
View File
@@ -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.
+2 -2
View File
@@ -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