fabro/docs/internal
Bryan Helmkamp 6dfc96d3fd
Resolve provider secrets through lithos conventional credentials
lithos-llm now owns which named secrets each provider reads and how they
shape into its auth scheme, including a derived `<PROVIDER>_API_KEY` for
operator-defined providers. Fabro's job shrinks to supplying the store:
`VaultCredentialSource` hands lithos a lookup that reads the process
environment, then the vault, under the same conventional names.

What Fabro still adds on top: the Codex OAuth credential in the vault,
refreshed and persisted when it expires; `{{ secrets.NAME }}` tokens in a
provider's `default_headers`, resolved against the vault and re-sent as
credential headers; and OpenAI organization and project headers from the
environment.

Deleted with the `metadata.fabro.credentials` list: `CredentialRef`,
`CredentialResolver`, `EnvCredentialSource` (now
`VaultCredentialSource::environment_only`), and the `env_var_names` /
`expected_vault_secret_name` helpers, replaced by `secret_names` and
`expected_secret_name` over the lithos table. `openai-codex` joins the
first-party provider id constants.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 23:00:08 -06:00
..
assets/brand docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
demo Shared-checkout parallel execution (recovered from run 01KY7YH7RYCJ1BDVTTP96ZA4HV) 2026-07-24 06:19:11 -04:00
licenses docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
product docs(secrets): document settings-declared credentials, fix stale local-run guidance 2026-07-25 09:04:59 -04:00
cargo-target-apfs-churn-plan.md docs: commit plan 2026-04-28 09:46:52 -07:00
cli-workflow-coupling-audit.md refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
error-handling-strategy.md docs: clarify chain-rendering boundary in error strategy 2026-05-04 11:28:28 -04:00
event-schema-competitive-analysis.md refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
events-strategy.md fix: fail runs when event persistence is lost 2026-08-21 18:31:22 -04:00
events.md Add version-backed run intent creation 2026-08-24 11:55:43 -04:00
fabro-event-schema-v2-concrete-shape.md docs(events): remove events that are never serialized 2026-07-24 21:56:54 -04:00
fabro-event-schema-v2-proposal.md feat(events): make inference in-flight state observable 2026-07-24 21:47:51 -04:00
llm-client-resolution.md Resolve provider secrets through lithos conventional credentials 2026-09-09 23:00:08 -06:00
logging-strategy.md feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
mcp-server-qa-test-plan.md refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
migrations-strategy.md Remove expired startup secret migrations 2026-09-05 14:05:48 -04:00
panic-policy.md chore: add panic policy 2026-05-26 22:04:04 -04:00
parallel-strategy.md Bound for_each fan-out memory 2026-07-28 20:16:20 -04:00
plan-events-as-source-of-truth-follow-ups.md refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
plan-events-as-source-of-truth.md Make git metadata sandbox-native 2026-04-27 21:43:15 -07:00
react-effects-policy.md docs: add React effects policy (#419) 2026-05-26 19:30:02 -04:00
run-directory-keys.md refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
server-secrets-strategy.md Resolve provider secrets through lithos conventional credentials 2026-09-09 23:00:08 -06:00
slow-test-opportunities-2026-04-07.md refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
testing-strategy.md refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
updating-web-screenshots.md refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00