feat(fleet): config-type presets + AI-free init wizard
Add four config-type preset rosters (general, coding, research, hybrid) with exactly one orchestrator each using the claude runtime; worker agents use pi with model_hint openai-codex/gpt-5.5:high. Extend `mosaic fleet init` with a readline-based interactive wizard (AI-free) that prompts for preset selection when no --profile is given and stdin is a TTY; falls back to "general" with a note when non-interactive. Export parseInitProfile, resolvePresetFilename, countOrchestrators, FLEET_PROFILES, and FleetProfile for testability. Add 24 new tests covering preset shape, sanitization, wizard TTY/non-TTY paths, and R8 idempotency. All gates green: test (428/428), typecheck, lint, prettier, and the sanitization gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMoEx7hfdFGjUiCHuN1RRi
This commit is contained in:
32
packages/mosaic/framework/fleet/examples/coding.yaml
Normal file
32
packages/mosaic/framework/fleet/examples/coding.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
version: 1
|
||||
transport: tmux
|
||||
tmux:
|
||||
socket_name: mosaic-factory
|
||||
holder_session: _holder
|
||||
defaults:
|
||||
working_directory: ~
|
||||
runtimes:
|
||||
claude:
|
||||
reset_command: /clear
|
||||
pi:
|
||||
reset_command: /new
|
||||
agents:
|
||||
- name: orchestrator
|
||||
runtime: claude
|
||||
class: orchestrator
|
||||
persistent_persona: true
|
||||
- name: coder0
|
||||
runtime: pi
|
||||
class: implementer
|
||||
model_hint: openai-codex/gpt-5.5:high
|
||||
reset_between_tasks: true
|
||||
- name: coder1
|
||||
runtime: pi
|
||||
class: implementer
|
||||
model_hint: openai-codex/gpt-5.5:high
|
||||
reset_between_tasks: true
|
||||
- name: reviewer
|
||||
runtime: pi
|
||||
class: reviewer
|
||||
model_hint: openai-codex/gpt-5.5:high
|
||||
reset_between_tasks: true
|
||||
Reference in New Issue
Block a user