Chat surfaces & stage policy
The toggle above the prompt (or /mode) picks how MAESTRO treats every message.
There are three surfaces, but only two are real modes — Interactive (the
default) and Production. Ad-Hoc is the legacy name and normalises to
Interactive on read.
| Interactive (default) | Production | |
|---|---|---|
| On each prompt | Generate a chain, run it on the spot, answer inline. | Generate a reproducible chain, then auto save → baseline → (optionally) evolve. |
| Save / baseline / evolve | Your call — driven by the chain-action buttons (Save to library, Evolve). | Automatic — the pipeline runs them for you. |
| Follow-up prompt | Reuses the chain for context; a new prompt can generate afresh. | Treated as /revise — a new version of the same chain. |
| Saved? | Only when you press Save. | Saved to Memory under a stable chain_id + a baseline dataset entry. |
| Needs Memory? | No. | Yes (CARE_MEMORY__BASE_URL). |
Interactive
Section titled “Interactive”The default surface. Type a task → MAGE generates → CARL runs → the answer prints. Nothing is persisted unless you choose to: the Save to library and Evolve chain-action buttons put you in control of what survives the session. Follow-up prompts reuse the same chain so the conversation has context; start a fresh chain whenever you want.
Use it for: quick answers, exploration, iterating on a chain before you commit it.
Production
Section titled “Production”The durable path — for agents you’ll keep, measure, and improve. Every prompt
produces one reproducible chain that is then automatically saved,
baselined, and (if Platform is wired) evolved. Once a chain exists, your next
plain messages are treated as /revise edits — a new version under the same
chain_id, not a new chain. Details and the full lifecycle are on the
Production mode page.
Use it for: agents you want to save, build a dataset for, evolve, and promote.
Ad-Hoc (legacy)
Section titled “Ad-Hoc (legacy)”ad_hoc (and the spellings ad-hoc / adhoc) is the old name for the
fast, run-on-the-spot path. It is kept only for back-compat: on read it is
normalised to interactive, so anything that still passes ad_hoc lands on
the Interactive surface with no change in behaviour.
Stage policy
Section titled “Stage policy”Both surfaces are built from the same pipeline. Two stages — generate and preview — are always automatic. The other four are configurable, each with one of three policies:
| Policy | Behaviour |
|---|---|
auto | Do it silently. |
ask | Show a confirm gate first. |
skip | Never do it (and skip stages that depend on it). |
The four configurable stages and their per-surface presets:
| Stage | Interactive | Production |
|---|---|---|
run | ask | ask |
save | skip (button-driven) | auto |
baseline | skip (button-driven) | auto |
evolve | skip (button-driven) | auto |
In Interactive, save / baseline / evolve are skip at the pipeline level
because they’re driven by the chain-action buttons, not by modal gates.
Env overrides
Section titled “Env overrides”Set the boot-time surface, then override any stage policy without editing
config.toml. Env vars nest with the __ delimiter through every level.
# Boot-time surface: interactive | production (legacy aliases accepted)export CARE_CHAT__DEFAULT_MODE=production
# Per-stage policy: CARE_CHAT__MODE__<MODE>__<STAGE> = ask | auto | skipexport CARE_CHAT__MODE__INTERACTIVE__RUN=auto # run Interactive chains without a gateexport CARE_CHAT__MODE__PRODUCTION__SAVE=ask # confirm before saving in Production<MODE> is INTERACTIVE or PRODUCTION; <STAGE> is RUN, SAVE,
BASELINE, or EVOLVE. An unset stage defers to the preset above.
See also
Section titled “See also”- Configuration sections — the full
chatconfig surface. - The MAESTRO CARE TUI — the buttons and
/modetoggle in context. - Production mode · Scenarios
/mode— switch from the keyboard.