From Jason's north-star (docs/fleet/north-star.md, #613): every fleet has a two-agent floor — orchestrator + enhancer minimum. Builds on #612's init-R5. - Presets (general/coding/research/hybrid): add enhancer (claude, class: enhancer, persistent_persona) as a core always-on agent. minimal/local-canary unchanged. - fleet.ts: countEnhancers helper; init guarantee extended — non-minimal profiles must yield exactly 1 orchestrator AND >=1 enhancer (hard-fail); removeAgentFromRoster refuses to drop the sole enhancer (symmetric with the sole-orchestrator guard) so the floor holds at runtime, not just init. - framework/fleet/roles/enhancer.md: the enhancer mandate (monitor -> analyze -> plan -> upgrade tools/skills/harness WITH orchestrator -> file Mosaic Stack bug reports) + boundaries (does NOT code or review). Verified: 155 fleet tests green (countEnhancers; sole-enhancer remove guard; remove-allows-when-another; init two-agent-floor; every-non-minimal-preset-has- enhancer; updated preset rosters). tsc/eslint/prettier/sanitize clean. TDD on the init guarantee + remove protection. Stacked on #612 (feat/fleet-polish-bundle); rebases clean onto main after #612. Refs #614, #613 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EsgTQzV5YUGk1JtCLP4B83
1.4 KiB
1.4 KiB
Fleet enhancer role + two-agent floor (#614)
- Issue: #614 · Branch:
feat/fleet-enhancer-floor(stacked on #612feat/fleet-polish-bundle) - Doctrine:
docs/fleet/north-star.md(PR #613) — every fleet = orchestrator + enhancer minimum.
Changes
- Presets (general, coding, research, hybrid): add
enhancer(claude,class: enhancer,persistent_persona: true) as a core always-on agent alongside the orchestrator. minimal/local-canary unchanged. - fleet.ts:
countEnhancershelper; init guarantee extended — non-minimal profiles must yield exactly 1 orchestrator AND >=1 enhancer (hard-fail otherwise);removeAgentFromRosterrefuses to drop the sole enhancer (symmetric with the sole-orchestrator guard) so the floor holds at runtime, not just init. - Role doc:
framework/fleet/roles/enhancer.md— the enhancer mandate (monitor → analyze → plan → upgrade tools/skills/harness WITH orchestrator → file Mosaic Stack bug reports) + boundaries (does NOT code or review).
Verification
- 155 fleet tests green (new: countEnhancers; remove-sole-enhancer guard; remove-allows-when-another; init two-agent-floor; every-non-minimal-preset-has-enhancer; updated preset rosters). tsc/eslint/ prettier/sanitize clean. TDD on the init guarantee + remove protection.
Stacking
Built on #612's init-R5 code. PR shows #612 + enhancer until #612 merges; then rebase onto main → clean.