feat(council): Add adaptive rounds, file-first output, and recovery mode#567
feat(council): Add adaptive rounds, file-first output, and recovery mode#567A13xSM wants to merge 2 commits intodanielmiessler:mainfrom
Conversation
BREAKING: None - all changes are backward compatible
## New Features
### Adaptive Rounds
- Round 3 is now conditional based on convergence detection
- If 3+ agents agree and no blocking issues, Round 3 is skipped
- Reduces token usage by ~33% for well-converged debates
### File-First Output
- Session state persists to ~/.claude/MEMORY/STATE/council-sessions/
- Final transcripts archived to ~/.claude/MEMORY/RESEARCH/
- Enables resilience against context compaction and rate limits
### Recovery Workflow
- Resume interrupted sessions with partial or full rerun options
- Preserves completed agent outputs when recovering
- New trigger: "Council recovery: Resume session {id}"
### Configuration
- New Config.md with centralized settings
- Model tiering: sonnet for Round 1/3, haiku for Round 2
- Output modes: deliberative (default) or patchlist
- Scope limits to prevent token explosion
## Motivation
These changes address real-world pain points observed during extended
multi-session council reviews:
1. Rate limit interruptions caused lost work and required manual recovery
2. Context compaction destroyed in-progress transcripts
3. Many debates reached consensus in Round 2, making Round 3 wasteful
4. No structured output format for specification reviews
## Files Changed
- README.md: Updated features, architecture, changelog
- SKILL.md: Added routing for Recovery, config loading
- Config.md: New file with all configuration options
- Workflows/Debate.md: Added file output, adaptive Round 3, model tiering
- Workflows/Recovery.md: New workflow for session recovery
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR enhances the Council skill with three major improvements based on real-world usage: adaptive rounds (Round 3 is now conditional based on convergence detection), file-first output (session state persists to ~/.claude/MEMORY/ for resilience), and recovery mode (resume interrupted sessions). These changes aim to address rate limit interruptions, context compaction issues, and inefficiency when debates converge early.
Changes:
- Added adaptive Round 3 logic that skips the final round when agents converge in Round 2 (33% token savings)
- Introduced file-based session persistence with recovery workflow for interrupted sessions
- Added centralized Config.md with model tiering, output modes, and scope limits
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 21 comments.
Show a summary per file
| File | Description |
|---|---|
| Recovery.md | New workflow for resuming interrupted sessions with partial/full rerun modes |
| Debate.md | Updated with adaptive rounds, file output commands, and convergence detection logic |
| Config.md | New centralized configuration file defining defaults, model tiering, and adaptive behavior |
| SKILL.md | Updated metadata, workflow routing, and documentation to reference new features |
| README.md | Version bump to 2.5.0 with changelog and updated feature descriptions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
✅ Manual Testing CompleteRan a full council debate test with the updated skill:
Session ID: All test plan items verified working. |
- Fix JSON syntax errors (true/false → actual booleans, 2 or 3 → concrete example) - Change convergence threshold from "3+ agents" to "majority of agents" for scalability - Add session ID validation guidance to prevent path traversal - Use explicit file ordering in archive command instead of *.md wildcard - Update RoundStructure.md description to reflect adaptive 2-3 rounds - Use consistent role+personality naming in examples Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copilot Feedback AddressedPushed commit
Not addressed (low priority):
|
Summary
This PR improves the Council skill's resilience, efficiency, and usability based on real-world usage in extended multi-session specification reviews.
Key Changes
~/.claude/MEMORY/for resilienceThis PR changes default Council behavior:
Adaptive rounds (2-3 instead of always 3) — Round 3 now only runs if convergence is low or blocking issues exist. Previously, Council always ran 3 rounds. Users depending on 3 rounds of feedback will see different output.
Model tiering — Round 2 now uses haiku (faster, cheaper) while Rounds 1 and 3 use sonnet. Previously, no model was specified. This may affect Round 2 response quality.
File output — Sessions now write to
~/.claude/MEMORY/by default. This creates files that didn't exist before.If these changes are too aggressive for a minor version bump, consider:
rounds: 3as default,rounds: adaptiveas option)Motivation
During extended council sessions (5+ sequential reviews over multiple hours), we encountered several pain points:
These changes formalize workarounds that were previously done manually.
Changes
README.mdSKILL.mdConfig.mdWorkflows/Debate.mdWorkflows/Recovery.mdTest Plan
~/.claude/MEMORY/STATE/council-sessions/"Council (patchlist): ..."🤖 Generated with Claude Code