Files
stack/docs/scratchpads/fleet-enhancer-floor.md
Jason Woltje 2bf66136e4
All checks were successful
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
feat(fleet): enhancer role + two-agent floor (orchestrator + enhancer) (#615)
Co-authored-by: Jason Woltje <jason@diversecanvas.com>
Co-committed-by: Jason Woltje <jason@diversecanvas.com>
2026-06-22 13:15:59 +00:00

1.4 KiB

Fleet enhancer role + two-agent floor (#614)

  • Issue: #614 · Branch: feat/fleet-enhancer-floor (stacked on #612 feat/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: countEnhancers helper; init guarantee extended — non-minimal profiles must yield exactly 1 orchestrator AND >=1 enhancer (hard-fail otherwise); removeAgentFromRoster refuses 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.