fabro/docs/public/reference
Bryan Helmkamp b9497517a5
feat(llm): support agent profile overrides (#291)
## Summary

Adds catalog-level `agent_profile` overrides so custom providers and
individual models can choose Anthropic, OpenAI, or Gemini agent behavior
independently from their adapter default. The effective precedence is
model override, then provider override, then adapter metadata.

## What Changed

- Added typed provider/model `agent_profile` settings in `fabro-config`
and `fabro-model`, with serde/strum support for `anthropic`, `openai`,
and `gemini`.
- Centralized effective profile resolution in the catalog, including
provider alias canonicalization and a guard against unrelated model
overrides leaking across providers.
- Updated run startup, API sessions, CLI/ACP backends, prompt
project-memory discovery, and standalone agent startup to use the
resolved catalog profile.
- Documented provider-level and model-level `agent_profile`
configuration in the public model and user configuration docs.

No OpenAPI or model-list response shape changes are included.

## Validation

- `cargo nextest run -p fabro-model -p fabro-config -p fabro-workflow -p
fabro-agent` passed: 1826 passed, 125 skipped.
- `cargo +nightly-2026-04-14 fmt --check --all` passed.
- `cargo +nightly-2026-04-14 clippy -p fabro-model -p fabro-config -p
fabro-workflow -p fabro-agent --all-targets -- -D warnings` passed.
- `git diff --check` passed.
- `cargo nextest list -p fabro-dev` confirmed there is no docs-options
reference test target to run.

## Post-Deploy Monitoring & Validation

Watch workflow and agent-session logs for provider/model resolution
errors, unexpected project-memory file selection, or CLI/ACP launch
command mismatches on custom catalog providers. Healthy signal: custom
provider/model runs start normally and use the intended profile-specific
behavior. Failure trigger: repeated `Provider ... is not configured`
errors, missing expected project memory, or profile-specific agent
startup failures after configuring `agent_profile`. Mitigation is to
remove the override from config or revert this PR. Validation window:
first deploy cycle after merge; owner: release/on-call engineer.

---

[![Compound
Engineering](https://img.shields.io/badge/Compound_Engineering-6366f1)](https://github.com/EveryInc/compound-engineering-plugin)
🤖 Generated with GPT-5 via [Codex](https://openai.com/codex)
2026-05-16 17:40:59 -04:00
..
acknowledgements.mdx refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
architecture.mdx docs(deployment): split into local vs self-hosted, drop Render/Fly/DO 2026-05-01 09:26:35 -04:00
cli.mdx feat(session): add server-backed agent sessions (#278) 2026-05-16 17:25:05 -04:00
dot-language.mdx Add ACP backend support (#237) 2026-05-11 23:39:43 -04:00
run-directory.mdx refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
sdk.mdx docs(llm): finish configurable provider cleanup (#260) 2026-05-13 17:17:54 -04:00
server-operations.mdx docs(deployment): split into local vs self-hosted, drop Render/Fly/DO 2026-05-01 09:26:35 -04:00
shell-completions.mdx refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
user-configuration.mdx feat(llm): support agent profile overrides (#291) 2026-05-16 17:40:59 -04:00
verifying-releases.mdx refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00