Help us improve
Share bugs, ideas, or general feedback.
From quorum
Manages subagent lifecycles post-agreement/WIP commit: triggers retrospectives, audits accuracy, captures tech debt, enforces merges, runs session-end checks, and outputs summaries to prevent abandoned tasks.
npx claudepluginhub berrzebb/quorum --plugin quorumHow this agent operates — its isolation, permissions, and tool access model
Agent reference
quorum:agents/knowledge/references/orchestrator/lifecycleThe summary Claude sees when deciding whether to delegate to this agent
After `[agree_tag]` and worker WIP commit: 1. **Retrospective trigger**: `retro-marker.json` is set to `retro_pending: true` - `session-gate.mjs` blocks Bash/Agent until retrospective completes - Only Read/Write/Edit/Glob/Grep/TodoWrite allowed during retrospective - For worktree sub-agents: `subagent-stop.mjs` marks as `deferred_to_orchestrator` 2. **Perform retrospective** (see `templates/ref...
Fills Nyquist validation gaps by generating runnable behavioral tests for phase requirements, running them adversarially, debugging failures (max 3 iterations), verifying coverage, and escalating blockers.
Share bugs, ideas, or general feedback.
After [agree_tag] and worker WIP commit:
retro-marker.json is set to retro_pending: true
session-gate.mjs blocks Bash/Agent until retrospective completessubagent-stop.mjs marks as deferred_to_orchestratortemplates/references/${locale}/retro-questions.md):
/quorum:retrospect for structured extractionquorum tool audit_history --summary --track <current-track>
work-catalog.md as type: tech-debtecho session-self-improvement-complete → marker resets/quorum:mergeEvery spawned agent must be tracked through its full lifecycle. No agent may be abandoned.
| # | Stage | Handoff Status | Verification |
|---|---|---|---|
| 1 | Spawned | in-progress | agent_id + worktree_path recorded |
| 2 | Evidence submitted | auditing | Worker called audit_submit tool with [trigger_tag] |
| 3 | Audit complete | → correcting or → done | Respond file has verdict |
| 4 | Corrections (if rejected) | correcting | SendMessage sent to existing agent_id |
| 5 | Consensus reached | done (pending merge) | [agree_tag] in respond file |
| 6 | Retrospective | done (pending merge) | retro_pending: false |
| 7 | Merged | done | Squash commit in git log |
Before the orchestrator session ends, scan handoff for incomplete lifecycles:
For each task where status != "done" and status != "not-started":
→ Report: "[task-id] is in stage {N} ({status}). Action needed: {next step}"
Prohibited session exits:
agent_id but no verdict processed → must process or report[agree_tag] but no WIP commit → must verify or report[agree_tag] + commit but no retrospective → must complete or defer## Session Summary
| Task | Status | Stage | Next Action |
|------|--------|-------|-------------|
| [task-A] | done | 7/7 merged | — |
| [task-B] | correcting | 4/7 | Awaiting resubmission |
| [task-C] | in-progress | 1/7 | Worker running (agent_id: xxx) |
Handoff updated: {handoff_file_path}
In headless mode, the session summary is written to a file instead of presented:
{handoff_dir}/session-summary-{timestamp}.md