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