Settings integration map
When to read this: You need to know which user-facing settings correspond to which research mechanisms — and which are still blocked on product decisions.
Parent: Paper → product pipeline.
Today (shipping)
| Settings model | Field(s) | Research link | Promotion today |
|---|---|---|---|
ModelConfig | preamble | M1 few-shot block; M3 GEPA target | User-editable default |
ModelConfig | temperature, cost_per_million_* | M3 cost accounting | Ships |
ModelConfig | supports_images, supports_pdf, … | — | Ships (unrelated) |
TrainingSettingsModel | atif_auto_export | M0 trace export toggle | Setting |
ModuleSettingsModel | virtual_agents | Named worker roles for the small-teams experiment (ADR-0011 C10, dev/design/fleet.md §2) | Ships (JSON only, no GPUI page) |
ModuleSettingsModel | team.verification | The command behind the evidence envelope every delegation reply carries (ADR-0011 C12) | Ships (JSON only, no GPUI page) |
Location: crates/chatty-core/src/settings/models/.
virtual_agents is a list of { name, model?, disable_tools?, extra_args? } in
module_settings.json; empty means the single local-agent. The team a leader
delegates to is a roster plus a skill file, e.g. local-coder on qwen3:4b and
local-reviewer on gemma4:26b with disable_tools: ["fs-write", "shell", "git"].
team.verification sits beside it and belongs to the whole roster: the runner runs it
in each worker’s worktree when the worker’s task ends and puts its exit code into the
evidence envelope the leader reads. Schema and the resolution rules:
Agents and specs, “Named virtual agents” and “The
evidence envelope”.
Planned (product integration project)
| Settings model | Field(s) | Research link | Gate issue | Status |
|---|---|---|---|---|
FlowSettingsModel | workflow_enabled, active_workflow_id | M2 AFlow IR | AGE-54 | Not implemented |
| Playbook storage | scope TBD | M4 ACE | AGE-47 | Blocked — human product decision |
| Optimizer launcher | CLI vs GPUI vs CI | M2, M3 offline runs | AGE-44 | Blocked |
| Artifact apply policy | auto / review / export | M2 IR, M3 preamble, M4 deltas | AGE-45 | Blocked |
| Dataset paths | bundled vs user-supplied | Stage A loaders | AGE-46 | Blocked |
Optimizer artifacts → settings (when gates close)
flowchart LR
GEPA[GEPA run] --> Preamble[ModelConfig.preamble]
AFlow[AFlow search] --> IR[Saved WorkflowRepr JSON]
ACE[ACE offline] --> Bullets[Playbook sections]
IR --> FlowSettings[FlowSettingsModel]
Bullets --> PlaybookStore[Playbook scope TBD]
Preamble --> Apply[Apply policy AGE-45]
FlowSettings --> Apply
PlaybookStore --> Apply
Ablation flags (research / CLI, not GPUI v1)
In chatty-optimize — for reproduction, not end-user settings until promoted:
| Flag area | Purpose | Module |
|---|---|---|
SelectBestCandidate vs Pareto | GEPA ablation | M3 |
| Merge on/off | GEPA+Merge | M3 |
| Strategy enum | ReAct / CoT / CoT-SC / hybrids | M1 |
| DGM archive disable | M5 in agenticloop | — |
See crates/chatty-optimize/src/ablation.rs.
Persistence paths
| Data | Typical path |
|---|---|
| Models + preambles | JSON via models_repository |
| General settings | JSON via general_settings_repository |
| Conversations | SQLite |
| Agent memory / skills | memvid via memory_service |
| Playbook (future) | TBD — AGE-47 |
Related
- Experiment protocol — how the setting-vs-default verdict is reached
- App ↔ research bridge — component-level mapping
- Module pages
- Chatty agentic product integration (Linear)