Bare /autoresearch becomes a complete autonomous orchestrator — state a plain-language goal and it self-selects the subcommands, flags, and iteration counts needed to reach it, the way /ck:cook orchestrates implementation.
Added
- Orchestrator mode on bare
/autoresearch— classifies a free-form goal, derives a concrete success predicate (exact command + expected output), confirms once, then loops the right subcommands until the predicate holds.- Dispatch:
Metric:/Verify:present → classic metric loop (unchanged); free-form goal → orchestrator; nothing → setup wizard;--classic/--autoforce the mode; mode printed in a banner. - 9 goal archetypes in two modes — Orchestration loop (ship-ready, optimize-metric, fix-broken, harden, build-feature, explore) loops until a mechanical predicate is met; Single-pass dispatch (document, what-to-build, decide-design) routes once to learn / improve / reason and self-terminates.
- Bounded termination: plateau detection (5 cycles no net progress) + hard ceiling (50, override
--max-cycles N); repeated unknown-units cycles route toBLOCKED. - Safety: never auto-approves ship/deploy/push; every derived command is safety-screened (and re-screened on resume); data-migration stays behind the anchored DB-URL allowlist.
- Dispatch:
scripts/orchestrate.sh— deterministic routing seam (classify,next-hop,units,plateau,screen-cmd,verdict), mirroringscripts/score-regression.sh.tests/test-orchestrator.sh(97 assertions) + fixtures;references/orchestrator-routing.md;guide/autoresearch-orchestrator.md.
Changed
- Bare
/autoresearchdispatch is now mode-aware; classic Metric-loop behavior is unchanged whenMetric:/Verify:are supplied. - Version 2.1.4 → 2.2.0 across all 3 plugin manifests and 5
SKILL.mdmirrors. Command count stays 14 — the orchestrator overloads the root command, it is not a new subcommand.
Fixed
screen-cmdhardened against two command-screening bypasses: path-qualifiedrm(/bin/rm,./rm) andcurl/wgetpiped to alt-shells/interpreters; parser pipes (curl | jq/grep) remain allowed.scripts/transform.sh— latent:regressioncolon-drift in the Codex/OpenCode adapters.
Gates: tests 252/252 (orchestrator 97, regression 50, hooks 105) · /autoresearch:regression STABLE (negative-control verified) · security PASS.
Full changelog: v2.1.4...v2.2.0