chimera solve
Tier-2: autonomously solve a task with plan + verify-or-revert. Requires a key. In the shell nothing about this has changed: a run that fails still exits 1. Inside the process it now hands its run back — returned on success, carried on the ``SolveFailed`` exit otherwise — so ``/solve`` in a REPL can put the loop's own answer into the conversation instead of writing a sentence of its own.
Arguments
TASKstrThe task to solve autonomously (omit with --approve/--deny).
Options
--verifystrVerification command (exit 0 == success).
--workspace, -wstrdefault:'.'Workspace root.
--model, -mstrOverride the model slug.
--max-attemptsintdefault:3Max verify-or-revert attempts.
--max-stepsintdefault:8Max tool-calling steps per attempt.
--max-usdfloatStop the whole run once this much has been spent (all attempts together).
--context-budgetfloatFraction of the model's window to spend on the prompt before compacting (e.g. 0.6).
--no-planbooleanSkip the planning step.
--no-managerbooleanSkip Manager review.
--rubricbooleanManager reviews via the cascade rubric.
--fusebooleanRoute deep-reasoning turns through fusion.
--cascadebooleanTiered routing: weak -> gate -> mid -> gate -> fusion (cheap by default).
--guardbooleanGate tool calls through the governance kernel.
--allow-toolsstrPer-session allowlist: only these tools (comma-separated).
--deny-toolsstrPer-session denylist: drop these tools (comma-separated).
--taintbooleanTrack a capability ledger + review execution of tainted input.
--collectbooleandefault:TrueRecord trajectories for opt-in model evolution.
--no-rememberbooleanDon't auto-write a long-term memory fact on success.
--no-evolve-skillsbooleanDon't auto-propose a learned skill when a task recurs.
--isolatebooleanRun in an isolated git worktree; changes copied back only on success.
--explorerbooleanGive the agent an isolated Context Explorer for repo search (FastContext-style).
--subagentsbooleanGive the agent spawn_subagent to delegate subtasks to isolated subagents.
--repo-mapbooleanPrepend a structural map of the workspace (files + top-level symbols) to the agent's context.
--tool-routerstrEXPERIMENT (study 20 B4): a cheap MODEL names the tool before each step and the executor is given only that tool. Reads a shallow context on purpose. Narrows only — an undecided router leaves the full list, and the run's receipt counts how often that happened.
--tool-router-modestrdefault:'narrow'EXPERIMENT (study 22 B4b): 'narrow' gives the executor only the routed tool (B4, measured worse); 'hint' keeps every tool and only suggests one for the step, with no ANSWER.
--escalate-on-tool-loopstrEXPERIMENT (study 24 M6): when the tool-loop breaker trips, hand the rest of the run to this stronger MODEL instead of stopping. A second trip stops as before. Off by default.
--snapshot-at-tool-loopstrEXPERIMENT (study 24 M6 fork): with --escalate-on-tool-loop, copy the workspace to this DIR at the trip, before escalating — what stopping would have left. Off by default.
--progress-ledgerbooleanAfter a failed attempt, run a structured self-check that steers the retry (helps weak models).
--checklistbooleanExtract the task's atomic requirements and grade each attempt's coverage (catches dropped constraints).
--gen-testsbooleanWith no --verify: generate executable pytest grounded in the task's requirements and use it as the gate (catches wrong code the coverage grade rubber-stamps). Measured on 78 labelled patches (bench/test_gate_two_sided): fails every wrong patch, and reverts 4 of 64 correct ones (6%) on a test of its own that is wrong — opt-in for that reason.
--profilestrModel-role profile: economy | balanced | max. Puts a different model on each role (explore/plan/edit/review) drawn from the tier ladder. Routing is NOT yet shown to improve outcomes — see bench/role_routing/PREREGISTRATION.md.
--role-modelsstrPer-role model overrides: 'edit=vendor/slug,plan=vendor/other'. Roles: explore, plan, edit, review. Merges over --profile; a role left unset keeps --model. `verify` is not a role here — it runs a command and has no model to choose.
--write-regionstrComma-separated globs the file-writers may touch (e.g. 'src/**,*.py'). A write outside is refused — blocks an injected instruction from rewriting an unrelated file.
--probe-logbooleanLog (arm, proxy=manager-judgment, reward=verified) per attempt to <home>/probe.jsonl for PROBE best-arm selection (see `chimera probe-select --from-log`). Needs --verify + a manager.
--normalize-taskbooleanReshape a long, rambling bug-report task into a salient-facts-first form (location/repro/expected-vs-actual/fix-hint) before planning. No-op on non-bug or short tasks.
--playbookbooleanInject the stored ACE strategy playbook into context, then curate it from this run's outcome (closed loop).
--skill-cardsbooleanRead learned skill cards back into context (the learn->use loop). Default follows settings.skill_cards; this overrides it per run.
--agreementintdefault:1With --fuse: sample K cheap answers per turn; escalate to fusion when they disagree (free confidence signal).
--strong-verifystrModel slug of a stronger, independent judge that grades hard-turn (retried) results before accepting them.
--replanbooleanOn a stall, rebuild the plan from accumulated failure causes (dual-ledger) instead of just nudging.
--diff-feedbackbooleanShow a failed attempt its own reverted diff, as a path not to retake.
--keep-workspacebooleanOn failure, leave the last attempt's edits on disk for an external grader (don't revert).
--require-diffbooleanFail an attempt that changed no file — for code tasks, an explanation is not a fix.
--recoverystrdefault:'generic'How a failed attempt's retry is briefed: generic (manager prose + verifier output) or targeted (a brief aimed at the classified failure).
--stagnation-fuzzybooleanMatch repeated-failure signatures approximately, not byte-identically.
--contractstrMachine-checkable success clauses, comma-separated: file_exists:PATH | file_contains:PATH:REGEX | answer_matches:REGEX.
--streambooleanPrint live progress events (attempt/result/status) as the run proceeds.
--threadstrCheckpoint this run under a thread id; re-run with the same id to resume after a crash.
--pause-on-taintbooleanPause for human approval before finalizing a run that consumed untrusted content (needs --thread).
--approvestrHITL accept: finalize a paused run as-is, by thread id (no task needed).
--denystrHITL ignore: discard a paused run by thread id (no task needed).
--respondstrHITL respond: resume a paused run by thread id with --feedback guidance.
--feedbackstrGuidance for --respond (fed back so the run tries again).
--editstrHITL edit: finalize a paused run with the corrected --answer, by thread id.
--answerstrThe human-corrected answer for --edit.