Repository navigation
feat(config): provider connection blocks in the model registry - #121
Merged
Merged
Conversation
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can switch off images and animations for a plain-text comment |
gurnben
force-pushed
the
feat/registry-connections
branch
from
November 6, 2026 18:48
6f898ff to
f4f783b
Compare
gurnben
changed the base branch from
development
to
feat/remediation-scheduling-tables
November 6, 2026 18:48
|
Code review by qodo was updated up to the latest commit f4f783b |
gurnben
force-pushed
the
feat/registry-connections
branch
from
November 6, 2026 18:54
f4f783b to
a74bdc1
Compare
Member
Author
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit a74bdc1 |
smith-xyz
force-pushed
the
feat/remediation-scheduling-tables
branch
from
November 6, 2026 19:55
620b838 to
b176d64
Compare
smith-xyz
force-pushed
the
feat/remediation-scheduling-tables
branch
from
November 6, 2026 20:27
7c4c57c to
7c9554c
Compare
A provider section may now carry a connection block: the wire it speaks (type), its endpoint (base_url), the harness fronting it (harness) and where its credential lives (credential: source, and for a secret its name and key). The block is optional — absent keeps the default routing (the Anthropic wire, the environment's credential) — so existing registries load unchanged. The schema checks the shape only. Which types, harnesses and credential sources exist, and the cross-field rules (a compatible type requires a base_url, a proprietary one forbids it; a secret credential requires its name and key), are the consumer's closed set, like tier names: traust- core owns them and rejects an unroutable connection at config load, and serves the resolved routing over its REST API (GET /v1/registry/resolve). 💘 Generated with Crush Assisted-by: Crush:rits/zai-org/glm-5-3
gurnben
force-pushed
the
feat/registry-connections
branch
from
November 6, 2026 20:52
a74bdc1 to
6178d03
Compare
gurnben
changed the base branch from
feat/remediation-scheduling-tables
to
development
November 6, 2026 20:52
|
Code review by qodo was updated up to the latest commit 6178d03 |
chubirka
approved these changes
Nov 6, 2026
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chubirka, gurnben The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
chubirka
added a commit
that referenced
this pull request
Nov 6, 2026
Development landed the reworked remediation-scheduling slice (#117, #121, #123): run_order gains work_item_id plus fork_url/fork_branch, the remediation / remediation_finding tables are retired (remediation.schema.json is the system of record), and the upgrades/ channel is dropped (7c9554c). This merge takes development's decisions wholesale for the DB surface and keeps this branch's sole addition: the benchmark-scorecards view contract, its tests and README section, layered after the compliance-precision section.
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.
What
A provider section in
model-registry.yamlmay now carry aconnectionblock — the wire it speaks (type), its endpoint (base_url), the harness fronting it (harness) and where its credential lives (credential:source, and for a secret itsnameandkey):The block is optional — absent keeps the default routing (the Anthropic wire, the environment's credential) — so existing registries load unchanged.
Why
The provider routing and credential configuration for model execution belongs in core's configuration, not in SCI's executor (the SCI-side implementation was closed in SCI #285/#287). The executor should receive the resolved routing from core, the same pattern as
{repo_url}. This schema change is the contracts half; traust-core'sfeat/registry-connectionsbranch consumes it (it pins this branch's head until this merges — retarget its pin to the merge commit afterwards).Stack
Based on
feat/remediation-scheduling-tables(#117, the SHA traust-core currently pins) so the diff shows only this change; retarget todevelopmentwhen #117 merges.Shape of the change
typeandcredential(withcredential.source) required, unknown keys rejected, no empty strings.base_url, a proprietary one forbids it; a secret credential requires itsnameandkey), stay the consumer's closed set, like tier names: traust-core owns them, rejects an unroutable connection at config load, and serves the resolved routing overGET /v1/registry/resolve.Testing
tests/test_model_registry_connections.py: a provider without a block still loads; a full block loads and rides the typed section; malformed blocks (missingtype/credential/source, unknown keys, empty strings) are rejected.make lintgreen.💘 Generated with Crush