--- name: cctest-switch-default-instance description: "[recipe-maintainer/cctest] Switch the default test instance (b1cc or t1cc) for all recipe operations (Wraps the autonomic-recipe-maintainer skill /switch-default-instance; runs against the cctest test server + ARM sandbox, not cc-ci. Invoke as /cctest-switch-default-instance.)" --- # cctest-switch-default-instance (cctest wrapper) **Canonical procedure:** `references/recipe-maintainer/.opencode/skills/switch-default-instance/SKILL.md` — read it and follow it. This wrapper only sets context + policy. **Context:** this is an **autonomic-recipe-maintainer (ARM)** skill. It operates on the recipe-maintainer **cctest** test server / local abra sandbox — NOT on the cc-ci CI server or its shared swarm. Execute with the submodule as your working directory: `cd /srv/cc-ci-orch/references/recipe-maintainer`. If the ARM environment is not yet configured on this host (`settings.toml` from `settings.toml.example`, sandbox/test instances), run `/cctest-intro` / `/cctest-setup-sandbox` first. **Unified policy (same as cc-ci — no differences):** - **Recipe PRs are NEVER merged by an agent.** Every flow ends at an open PR; the operator reviews and merges. This is ARM's own rule too ("PRs are reviewed and merged manually by a human afterwards — never pushes to upstream or merges anything"); ARM's "no human review in the middle" wording refers only to skipping the mid-run plan confirmation, not to merging. - Never touch cc-ci infrastructure (the CI server, its swarm, `/root/*` clones, the weekly timers) from an ARM skill — cc-ci work goes through the cc-ci skills. - The submodule is **pinned**: don't commit into it from here; upstream ARM changes arrive via a deliberate submodule bump + `scripts/gen-cctest-skills.py` regeneration.