Extract the model catalog into a standalone declarative package - #127
Open
alexanderguy wants to merge 4 commits into
Open
Extract the model catalog into a standalone declarative package#127alexanderguy wants to merge 4 commits into
alexanderguy wants to merge 4 commits into
Conversation
The model and provider facts were hand-authored inline in dev tooling and reachable only by standing up the seed, its database, and the hub. Making them a published, dependency-free package gives internal trees and external consumers a typed source of what models and providers exist without a running system. Capabilities are baked to literals so importing pulls no discovery rig, while each offering keeps its discovery source and curated tags as provenance. A guard re-bakes from that provenance against the discovery matrix and pins the capability vocabulary and provider base URLs, so the duplication the zero-dependency contract requires cannot silently drift.
The seed and the live-session recorder now consume the published @intx/inference-catalog instead of the inline dev-tooling modules, which are removed. Dev-only credentials and pricing, deliberately excluded from the published package, stay as seed-local fixtures joined to the catalog by provider and model, with a coverage check that fails loudly on a gap rather than seeding a partial catalog. Offering capabilities now come from the package's baked literal, which the package guard pins equal to what the discovery matrix resolves, so the seeded rows are unchanged.
Member
Author
|
Self-review ( |
Dev pricing is a fake seed fixture, so a catalog offering can be seeded without one. Model that as an explicit choice rather than an inference: an offering must be either priced or listed in the unpriced set, never neither and never both. A dropped or mistyped price on a priced model still aborts the seed, so the fail-loud typo-catch is preserved while price-free offerings become possible.
The discovery support matrix has probed several models the catalog did not yet carry. Add them as offerings on the existing providers, with capabilities baked from the matrix and provenance preserved. Shared models fan out across the relays that serve them; reasoning-bearing opencode-zen offerings carry the reasoning quirks, extended from the Kimi backends where that requirement is verified to the others on the same relay wire. The new offerings ship without dev pricing, which stays a seed-only fixture, so they are listed in the seed's unpriced set rather than given fake prices.
Member
Author
|
Branch extended since the initial review: two commits add optional per-offering seed pricing (priced XOR explicitly-unpriced) and the models already probed into the discovery matrix but not yet in the catalog (added as unpriced offerings on the existing providers). Whole-branch self-review ( |
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
@intx/inference-catalog, a standalone, declarative, zero-runtime-dependency package that bakes resolved model, provider, and offering facts (capabilities and quirks) as typed constants, published for external consumers. It owns theCapabilitytype locally so consumers never depend on@intx/types, and keeps each offering'sdiscoverySource/curatedCapabilitiesprovenance alongside the bakedcapabilitiesliteral.Verification
make allpasses (build, lint, admin-ui bundle, tests) on HEAD.capabilitiesfrom the discovery matrix (ordered), pins the capability vocabulary against@intx/types, and keeps@intx/typesout of the published.d.ts. Seed fixture coverage is enforced statically (every offering priced XOR unpriced).Closes INTR-445