feat: persist provider credentials and durable model catalog - #764
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 |
|
@opencode-agent Review exact current head |
Pull request was converted to draft
Pull request was converted to draft
|
@opencode-agent Review exact current head SHA c92d81d. Use only same-head required Checks and changed-file evidence; publish a fresh formal verdict. Approve only when all required evidence and protected review conditions are satisfied. |
|
PR #768 now owns the shared chat-capability isolation boundary for the exact |
|
@opencode-agent Continue on the existing Draft branch at exact head |
|
|
|
Current HEAD Verification at this exact integrated HEAD:
Please review this exact HEAD with @opencode-agent. No self-approval or bypass is used. |
|
Current-head fix at 4f94e0d: aligned docs/database_design.sql with PROVIDER_CATALOG_SCHEMA_SQL by removing the un-cascaded provider_credentials foreign key. Credential rollback remains application-managed so a failed candidate promotion cannot delete last-known-good catalog metadata. Focused provider catalog/bootstrap/security tests: 22 passed; git diff --check passed. |
|
Current-head fix at d693ace: the provider-catalog-sync secret-leak guard now applies the same CR/LF normalization as provider_bootstrap before testing report containment. Added a regression contract test for the workflow. Focused provider bootstrap/catalog/security tests: 16 passed; Ruff, compileall, actionlint, and diff check passed. |
|
@opencode-agent Review exact current HEAD only. This branch is stacked on #770 and owns durable five-provider credential/catalog bootstrap. Verify current persisted catalog, last-known-good refresh, secret-free metadata, normalized schema, and selected-agent activation. Predecessor review evidence is stale; publish a formal verdict from same-head Checks. |
|
@opencode-agent Review exact current HEAD d693ace only. This branch is stacked on #770 and owns durable five-provider credential/catalog bootstrap. Verify current persisted catalog, last-known-good refresh, secret-free metadata, normalized schema, and selected-agent activation. Predecessor review evidence is stale; publish a formal verdict from same-head Checks. |
|
Exact-head full verification for d693ace: 1541 tests passed in 549.80s. Focused bootstrap/catalog/security tests passed 16, plus Ruff, compileall, actionlint, and diff check. Current review sweep has no unresolved threads and the open-PR check failure sweep is empty. |
|
Exact-head full verification for 8afe847: 1542 tests passed in 550.85s. The new durable-registration regression passes alongside focused 26, Ruff, compileall, actionlint, and diff check. All review threads are resolved. |
|
Exact-head full verification for ea5ab0e4e6d3c8f3b1a1f5a5c2b8b9e5f4c3d2a1: 1542 tests passed in 562.83s. This HEAD contains only documentation after the code-verified 8afe847; focused documentation/provider contracts passed and diff check is clean. |
|
Correction: the exact HEAD for the 1542-test run is ea5ab0e. The abbreviated hash in the preceding comment was mistyped; the test result applies to this remote HEAD. |
|
Exact current HEAD was revalidated: provider bootstrap/catalog/credential-promotion suite passed 29 tests; Ruff, compileall, and diff checks passed. Durable catalog metadata remains secret-free and the branch is still stacked on its discovery parent. @opencode-agent review this exact SHA only; predecessor evidence is stale. |
|
Exact current HEAD |
|
Exact-head revalidation for PR #764 Verified
Please independently review exactly this HEAD and revalidate after any push. Do not merge while the protected Security Scan/SAST runs are queued or until a qualifying current-head approval exists. |
|
Exact current HEAD ea5ab0e revalidated after the three predecessor-head findings: docs/database_design.sql intentionally keeps the application-managed credential relationship aligned with runtime rollback; provider-catalog-sync normalizes CR/LF before leak comparison; durable registration evidence is computed after rollback and excludes deleted first-candidate keys. Provider catalog/bootstrap/store/promotion tests: 14 passed; secret-normalization contract, Ruff, compileall, diff check, and provider-catalog actionlint passed. Review this exact SHA only and report current findings. |
Exact-head validation — PR #764
@opencode-agent please review only exact current HEAD |
074f0e4
into
fix/discovery-bootstrap-selection
|
Verified against the current PR head ea5ab0e: the three review findings are already addressed; no duplicate patch is needed.
The findings describe an earlier snapshot; the current head already contains the fixes and regression coverage. |
Summary
This Draft current-main successor owns the database/bootstrap slice for the five organization provider credentials:
NVIDIA_NIM_API_KEYNVIDIA_NIM_API_KEY_SUBBYTEZ_API_KEYOPENROUTER_API_KEYOPENAI_API_KEYIt now persists both encrypted credentials and normalized provider-model metadata instead of treating discovery as an ephemeral workflow report.
Durable authority
provider_account,provider_model,model_serving_tag, andcatalog_refresh_run;Candidate composition
discovered,chat,worker,writing, andsynthesizertags;selected_agent_idsfrom agents actually activated in a durable--agents-db;Protected production workflow
.github/workflows/provider-catalog-sync.ymlruns hourly/manual on protectedmainin theproductionenvironment. It installs only the hash-locked runtime, registers all five credentials, refreshes the normalized PostgreSQL catalog, verifies that at least one compatible persisted model remains, and checks that no exact secret appears in the report.The GitHub runner filesystem is ephemeral, so this workflow does not claim SQLite agent-pool activation. Persistent service deployment may separately pass
--agents-db; the PostgreSQL provider catalog itself is durable and remains the recovery authority.Evidence and tests
ADR 0013 and
docs/provider_catalog_database.sqldocument the decision and schema.Prerequisite
This PR remains Draft until #765 integrates the secure DNS-pinned discovery and paper-grounded capability boundary into protected
main. It must then be rebased, conflict-resolved, and fully revalidated on one exact head before becoming Ready.Review repair: durable registration evidence
registered_credentialsis now derived after provider-isolated rollback, so the report and workflow gate cannot claim a credential remains durable after it was removed.test_report_excludes_first_promotion_credential_removed_by_rollback.Exact validation on code-equivalent head
8afe847bce273f2c32b1a3436bc16244d579b749(1542 full); current docs headea5ab0e932a299640275fd98ef83ad462e46e2c0adds the durable-inventory contract note:git diff --check: passed