# Mosaic Runtime Adapter — OpenCode ## MANDATORY — Read Before Any Response BEFORE responding to any user message, READ these files in order: 1. `~/.config/mosaic/SOUL.md` (identity and behavioral contract) 2. `~/.config/mosaic/STANDARDS.md` (machine-wide standards) 3. Project-local `AGENTS.md` (project operations and workflows) Do NOT respond to the user until you have loaded all three. This file is an OpenCode adapter layer. It does not replace project guidance. ## Orchestrator Capability Contract - OpenCode sessions may not expose a native subagent/background task primitive in all deployments. - When native subagent delegation is unavailable, use Mosaic's deterministic orchestrator rail: - `~/.config/mosaic/bin/mosaic-orchestrator-matrix-cycle` - Keep repo task tracking in `docs/tasks.md` as the canonical human-readable state. - Keep machine transport/controller state in `.mosaic/orchestrator/`. ## Fallback Delegation Mode (No Native Subagents) 1. Bootstrap repo if needed: - `~/.config/mosaic/bin/mosaic-bootstrap-repo /path/to/repo` 2. Configure `.mosaic/orchestrator/config.json`: - set `"enabled": true` - set `"worker.command_template"` to your OpenCode worker command 3. Queue work items in `.mosaic/orchestrator/tasks.json` (or via Matrix command ingestion). 4. Run deterministic ticks: - `~/.config/mosaic/bin/mosaic-orchestrator-matrix-cycle` - or drain to completion: `~/.config/mosaic/bin/mosaic-orchestrator-drain` This preserves rails enforcement (`quality_gates`) even without runtime-native subagent features.