feat: durable automatic multi-provider catalog - #574
Merged
seonghobae merged 15 commits intoAug 16, 2026
Merged
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
merged commit Aug 16, 2026
fcdfa93
into
fix/atheris-interpreter-lock
5 of 7 checks passed
This was referenced Aug 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Build a durable provider control plane for the five organization credentials:
NVIDIA_NIM_API_KEYNVIDIA_NIM_API_KEY_SUBBYTEZ_API_KEYOPENROUTER_API_KEYOPENAI_API_KEYThe feature keeps GitHub Actions secrets as one-shot bootstrap transport, stores provider values only in the existing pgcrypto credential registry, discovers provider models account by account, persists normalized catalog metadata, and constructs the ordinary paper-grounded
TaskOrchestratorpool automatically.Architecture
provider_accounts,provider_models,model_capabilities,model_modalities, andcatalog_refresh_runsform a third-normal-form catalog. Catalog rows reference credential names and never contain secret values.Key/inputadapter and fails closed for unsupported passthrough shapes instead of fabricating OpenAI response objects.--provider-catalog-dsnmakes the durable catalog authoritative at startup. An empty or unavailable catalog is an error; there is no implicit mock-agent fallback.GitHub Actions trust boundary
.github/workflows/provider-catalog-sync.ymlseparates untrusted and trusted execution:mainin theproductionenvironment;CONTEXTUAL_ORCHESTRATOR_KV_DSNandCONTEXTUAL_ORCHESTRATOR_KV_PASSPHRASE;Actual production credential registration is intentionally not claimed by this PR: GitHub does not expose secret values to PR code. The protected-default-branch sync must run successfully after integration to establish live DB evidence.
Robustness
TaskOrchestrator.Verification scope
The branch includes deterministic contracts for fixed inventory, all-or-nothing bootstrap, normalized model metadata, malformed/non-finite values, provider failure isolation, stale catalogs, no-candidate startup, generated agent naming, role routing, cross-provider failover, native Bytez handling, catalog-backed CLI startup, and no-secret 3NF DDL.
Full exact-head repository checks, 100% branch/docstring coverage, security/fuzz scans, current semantic reviews, and protected merge authorization remain required. This PR is stacked on
fix/atheris-interpreter-lockso it inherits the accepted provider egress/response security prerequisite rather than duplicating or bypassing it.Documentation
Refs #95 and the provider-catalog follow-up to #96.