mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-07 08:27:12 +00:00
## Summary Adds the Phase 1 settings surface for gateway-backed LLM providers. This was prompted by @haroldolivieri's Portkey/Bedrock field report on PR #207, which showed that gateway auth and routing often live in custom headers rather than the adapter's primary API-key header. This PR is schema and seam work only. It does not make settings-defined providers runnable yet; later phases still own ProviderId migration, catalog construction, auth resolution, and production adapter registration. ## Changes - add typed `extra_headers` values to `[llm.providers.<id>]` - support explicit `literal`, `env`, and `credential` header value forms while rejecting bare strings, empty values, ambiguous tables, and unknown keys - cover whole-map header merge behavior and adapter header pass-through tests - update the settings-driven LLM plan with the Phase 1 gateway header attribution and completion notes ## Non-goals - does not make settings-defined providers runnable yet - does not migrate ProviderId/OpenAPI/auth resolver/runtime catalog plumbing - does not route Codex OAuth through custom provider settings ## Tests - `cargo nextest run -p fabro-config -p fabro-llm` - `cargo +nightly-2026-04-14 fmt --check --all` - `cargo +nightly-2026-04-14 clippy -p fabro-config -p fabro-llm --all-targets -- -D warnings` - `git diff --check origin/main...HEAD` ## Post-Deploy Monitoring & Validation No additional operational monitoring required. This is schema and adapter-seam coverage only; production provider registration and runtime credential/header resolution remain deferred. ## Attribution Motivated by @haroldolivieri's Portkey/Bedrock report on PR #207: https://github.com/fabro-sh/fabro/pull/207#issuecomment-4377929769 Commits include `Co-authored-by: Haroldo Olivieri <6575718+haroldolivieri@users.noreply.github.com>`. --- Compound Engineered: Codex, `ce:work`. --------- Co-authored-by: Haroldo Olivieri <6575718+haroldolivieri@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| 2026-04-29-metadata-snapshot-events.md | ||
| 2026-04-30-duplicate-type-unification.md | ||
| 2026-04-30-preserve-exec-failure-diagnostics.md | ||
| 2026-05-02-event-module-split.md | ||
| 2026-05-02-server-readiness-timeouts.md | ||
| 2026-05-02-settings-driven-llm-providers-models.md | ||
| 2026-05-04-cross-tab-sse-coordination.md | ||
| 2026-05-04-model-test-bounded-concurrency.md | ||
| 2026-05-04-unique-git-checkpoint-commit-message-path.md | ||
| 2026-05-05-clean-pierre-virtualizer-integration.md | ||
| 2026-05-05-decouple-interrupts-from-steering.md | ||
| 2026-05-06-cli-input-overrides.md | ||
| 2026-05-06-improve-cli-api-error-display.md | ||
| 2026-05-06-polished-foreground-tty-logging.md | ||
| 2026-05-08-generated-typescript-api-client-migration.md | ||
| 2026-05-08-run-owned-sandbox-lifecycle.md | ||
| 2026-05-09-daytona-run-terminal.md | ||
| 2026-05-09-fixed-project-workflow-directory.md | ||
| 2026-05-09-inline-markdown-run-titles.md | ||
| 2026-05-09-live-stage-token-projection.md | ||
| 2026-05-09-remove-local-worktree-mode.md | ||
| 2026-05-09-run-files-diff-scope-picker.md | ||
| 2026-05-10-auth-sessions-backend.md | ||
| 2026-05-10-auth-sessions-frontend.md | ||
| 2026-05-10-live-events-page.md | ||
| 2026-05-10-sandbox-services-backend.md | ||
| 2026-05-10-sandbox-services-frontend.md | ||
| 2026-05-11-automations-end-to-end.md | ||