{ "id": "mosaic-framework", "name": "Mosaic Framework", "description": "Mechanically injects Mosaic rails and mission context into all agent sessions and ACP worker spawns. Ensures no worker starts without the framework contract.", "configSchema": { "type": "object", "additionalProperties": false, "properties": { "mosaicHome": { "type": "string", "description": "Path to the Mosaic config home (default: ~/.config/mosaic)" }, "projectRoots": { "type": "array", "items": { "type": "string" }, "description": "List of project root paths to scan for active missions. Plugin checks each for .mosaic/orchestrator/mission.json." }, "requireMission": { "type": "boolean", "description": "If true, ACP coding worker spawns are BLOCKED when no active Mosaic mission exists in any configured project root. Default: false." }, "injectAgentIds": { "type": "array", "items": { "type": "string" }, "description": "Agent IDs that receive framework context via before_agent_start (appendSystemContext). Default: all agents." }, "acpAgentIds": { "type": "array", "items": { "type": "string" }, "description": "ACP agent IDs that trigger runtime contract injection (subagent_spawning). Default: ['codex', 'claude']." } } } }