PATH B: roster-native launch-config data model (harness/yolo/model/command) for webUI binding #636

Open
opened 2026-06-22 21:47:14 +00:00 by jason.woltje · 0 comments
Owner

PATH B — roster-native launch-config data model

Follow-up to #633 (FLEET-LAUNCH runbook + mosaic fleet comms-block emitter). #633 shipped PATH A:
the manual fleet/agents/<role>.env MOSAIC_AGENT_COMMAND override hatch (kept upgrade-safe by #632).
This issue tracks PATH B: making the full launch config roster-native so it can be edited from a webUI.

Continuity (why this is small)

The launch mechanism is already roster-driven. Two of the four launch-config fields are already
end-to-end today
— only two are new.

Field Roster-native today? Work
harness (runtime) none — roster.runtimegenerateAgentEnv emits MOSAIC_AGENT_RUNTIMEstart-agent-session.sh line 44
model (model_hint) none — MOSAIC_AGENT_MODEL → line 44 --model
yolo NEW — start-agent-session.sh line ~44 hardcodes mosaic yolo. Add a roster yolo field → emit MOSAIC_AGENT_YOLO → make line 44 conditional (mosaic yolo $RT vs mosaic $RT).
command / channels NEW — MOSAIC_AGENT_COMMAND is consumed (start-agent-session.sh line ~12) but generateAgentEnv (packages/mosaic/src/commands/fleet.ts ~202-207) does not emit it. Add a roster command/channels field → emit it.

Scope

  1. Roster schema: add optional yolo (bool) + command/channels fields (roster.schema.json + parseRosterText).
  2. generateAgentEnv: emit MOSAIC_AGENT_YOLO and MOSAIC_AGENT_COMMAND when set.
  3. start-agent-session.sh line ~44: make the yolo keyword conditional on MOSAIC_AGENT_YOLO.
  4. Tests: roster parse + generateAgentEnv emission + the line-44 conditional (bash fixture).

Why it matters

This is the data model the future webUI binds to: harness dropdown + yolo toggle + model picker +
command/channels override → roster fields ← webUI ← user. One launcher, roster-native, all
UI-editable
— no new launch path. PATH A's .env override is the manual form of exactly this.

See docs/fleet/FLEET-LAUNCH.md (North Star section) for the full A → B → webUI arc.

## PATH B — roster-native launch-config data model Follow-up to #633 (FLEET-LAUNCH runbook + `mosaic fleet comms-block` emitter). #633 shipped **PATH A**: the manual `fleet/agents/<role>.env` `MOSAIC_AGENT_COMMAND` override hatch (kept upgrade-safe by #632). This issue tracks **PATH B**: making the full launch config roster-native so it can be edited from a webUI. ### Continuity (why this is small) The launch mechanism is already roster-driven. Two of the four launch-config fields are **already end-to-end today** — only two are new. | Field | Roster-native today? | Work | | --- | --- | --- | | harness (`runtime`) | ✅ | none — `roster.runtime` → `generateAgentEnv` emits `MOSAIC_AGENT_RUNTIME` → `start-agent-session.sh` line 44 | | model (`model_hint`) | ✅ | none — `MOSAIC_AGENT_MODEL` → line 44 `--model` | | **yolo** | ❌ | NEW — `start-agent-session.sh` line ~44 **hardcodes** `mosaic yolo`. Add a roster `yolo` field → emit `MOSAIC_AGENT_YOLO` → make line 44 conditional (`mosaic yolo $RT` vs `mosaic $RT`). | | **command / channels** | ❌ | NEW — `MOSAIC_AGENT_COMMAND` is **consumed** (`start-agent-session.sh` line ~12) but `generateAgentEnv` (`packages/mosaic/src/commands/fleet.ts` ~202-207) does **not** emit it. Add a roster `command`/`channels` field → emit it. | ### Scope 1. Roster schema: add optional `yolo` (bool) + `command`/`channels` fields (`roster.schema.json` + `parseRosterText`). 2. `generateAgentEnv`: emit `MOSAIC_AGENT_YOLO` and `MOSAIC_AGENT_COMMAND` when set. 3. `start-agent-session.sh` line ~44: make the `yolo` keyword conditional on `MOSAIC_AGENT_YOLO`. 4. Tests: roster parse + `generateAgentEnv` emission + the line-44 conditional (bash fixture). ### Why it matters This is the data model the future webUI binds to: harness dropdown + yolo toggle + model picker + command/channels override → roster fields ← webUI ← user. **One launcher, roster-native, all UI-editable** — no new launch path. PATH A's `.env` override is the manual form of exactly this. See `docs/fleet/FLEET-LAUNCH.md` (North Star section) for the full A → B → webUI arc.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#636