feat(fleet): comms-block emitter + FLEET-LAUNCH runbook (#633) #638
Reference in New Issue
Block a user
Delete Branch "feat/633-comms-block-runbook"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #633. Follow-up filed: #636 (PATH B).
PATH A of the orchestrator-launch fix: every launch path gets Fleet-Comms onboarding, and the canonical roster-driven launcher is documented so the orchestrator stops being a bespoke snowflake.
What
mosaic fleet comms-block <role> [--host <h>]— explicit-arg, comms-only emitter.resolveCommsBlock(mosaicHome, role, fleetHost?)→{ ok, output, error }infleet/comms-onboarding.ts.exit 1(vsreadFleetCommsBlock, which returns''socomposeContractcan no-op silently during launch). Safe to preview any peer's view; a typo is never a silent no-op.mosaic compose-contract <runtime>(whole prompt, env-coupled); this is the targeted comms-only view.docs/fleet/FLEET-LAUNCH.mdrunbook — worker path + orchestrator.envfold (MOSAIC_AGENT_COMMAND, which short-circuits the line-44yolohardcode) + 3 launch gotchas + #632 preserve-list note + North-Star A→B→webUI launch-config arc.Why no launch.ts change
mosaic yolo claudealready forwards--channels/--permission-modeto the binary and injects the comms block viacomposeContract. PATH A is.env+ doc only. PATH B (#636) makes the launch config (yolo + command/channels) roster-native for webUI binding.Tests
resolveCommsBlockcases (member → block; non-member / missing-roster / missing-arg → fail loud;--hostoverride preview).fleet.spec.tssubcommand-list extended withcomms-block.Notes
uninstall.spec.ts > removeFramework > handles missing mosaicHome gracefully(EACCES on/nonexistentas non-root) is unrelated to #633 and passes in CI as root.mosaic update/ auto-reseed run (installed CLI still 0.0.40 — roster-wipe live until 0.0.41); all work is in-repo + vitest.🤖 Generated with Claude Code