feat(po): drop periodic fleet sweep — operator-driven, recover-if-dead only

The PO's job is to manage projects on request, not watch them live. Remove the
hourly wake/sweep entirely:

- agents.toml: watch="heal" (recover-if-dead), no `wake` field
- prompts/supervise.md: deleted
- prompts/orchestrator.md, README.md, docs/bootstrap.md, docs/manage-projects.md:
  drop sweep/wake references; document operator-driven, no periodic sweep

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-14 15:04:08 +00:00
parent 6cc3ed4f13
commit 0456837444
6 changed files with 19 additions and 33 deletions

View File

@ -45,7 +45,8 @@ fatal_re = "redacted_thinking|blocks cannot be modified|cannot be modified"
# A single persistent fleet-management agent is enough to start (the plan: "add a loop only if
# useful"). It is NOT a build loop — it manages a fleet of *other* projects: create / start / stop
# / update / list / status, reading each project's harness docs to work out how to drive it. Its
# startup prompt + periodic wake nudge live in prompts/.
# startup prompt lives in prompts/. It is operator-driven: NO periodic wake — the PO manages
# projects on request, it does not watch them live.
[[agent]]
name = "project-orchestrator" # tmux session: po-project-orchestrator
@ -53,6 +54,6 @@ kind = "persistent"
backend = "claude"
model = "claude-opus-4-8"
resume = true # resume its session across restarts (--resume <state id>)
watch = "heal" # keep it alive/healed; never reboot just for being idle
watch = "heal" # recover-if-dead (crash/wedge/wrong-backend); never reboot for idle
prompt_file = "prompts/orchestrator.md" # startup prompt: read your role + fleet, then report
wake = { interval = 3600, prompt_file = "prompts/supervise.md" } # hourly fleet sweep
# no `wake`: the watchdog sends NO periodic prompts. It heals a dead session but never nudges a live one.