- oc-plugins/mosaic-framework/ — plugin that mechanically injects Mosaic
framework rails into every OpenClaw agent session and ACP worker spawn
- before_agent_start: appendSystemContext (static rules, cached) +
prependContext (dynamic mission state per agent project root)
- subagent_spawning: writes ~/.codex/instructions.md before Codex binary
starts; no mission context (workers detect own CWD mission)
- Optional gate: requireMission blocks ACP spawns with no active mission
Install: mosaic install-oc-plugins --project-root ~/src/<repo>
35 lines
1.4 KiB
JSON
35 lines
1.4 KiB
JSON
{
|
|
"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']."
|
|
}
|
|
}
|
|
}
|
|
}
|