Skip to content

Development#10

Merged
MitulShah1 merged 12 commits into
mainfrom
development
May 15, 2026
Merged

Development#10
MitulShah1 merged 12 commits into
mainfrom
development

Conversation

@MitulShah1
Copy link
Copy Markdown
Contributor

No description provided.

MitulShah1 and others added 12 commits May 3, 2026 11:20
Add fuzzy matching to migrate-extends for Bedrock-style model IDs that
use vendor prefixes (e.g., us.anthropic.claude-3-haiku-v1:0 → anthropic/
claude-3-haiku). Migrated 60 anthropic + 5 mistral + 2 cohere wrappers.

Change lifecycle merge in extends resolver from partial to full
replacement (consistent with pricing/capabilities) to fix a bug where
YAML null couldn't override base values. Backfill 179 existing extends
wrappers with full lifecycle blocks. Extends count: 193 → 260.
Add `ferrocat backfill-source` CLI that runs OpenRouter and models.dev
scrapers, then fills empty `source` fields in provider YAML files with
per-model URLs. Backfilled 194 models from oracle data.

Add lint warning for `ga` models with empty source field (extends
wrappers excluded since they inherit from base). 1,351 models still
need source URLs from additional scrapers or manual entry.
New models found in both OpenRouter and models.dev with agreeing prices
are candidates for auto-add. Default is dry-run; pass --write to create
YAML files. Only adds to existing provider folders (won't auto-create
providers). Models get lifecycle.status=preview and source=auto:{oracles}.
Runs every Monday 06:00 UTC (plus manual workflow_dispatch). Scrapes
OpenRouter + models.dev, auto-adds high-confidence new models, backfills
source URLs, rebuilds dist, and opens a PR via peter-evans/create-pull-request.
Opens an issue on failure for tracking.
# Conflicts:
#	.github/workflows/scrape-weekly.yml
#	catalog/autoadd.go
#	catalog/autoadd_test.go
#	catalog/backfill.go
#	catalog/migrate.go
#	dist/catalog.json
#	dist/manifest.json
#	dist/providers/anthropic.json
#	dist/providers/bedrock.json
#	internal/cli/backfill_source.go
#	providers/anthropic/models/claude-sonnet-4-20250514.yaml
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@MitulShah1 MitulShah1 merged commit d8ef22f into main May 15, 2026
1 check passed
@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review

var resp openAICompatibleListResponse
if err := json.Unmarshal(data, &resp); err != nil {
return nil, fmt.Errorf("parse: %w", err)

P1 Badge Handle Mistral list response format in parser

NewMistral points at https://api.mistral.ai/v1/models, but this parser only accepts an OpenAI-style object with a data field. Mistral’s models endpoint returns a top-level JSON array, so unmarshalling fails and ferrocat freshness will always emit a warning and skip Mistral coverage whenever MISTRAL_API_KEY is set. Supporting both array and {data:[...]} shapes (or using a Mistral-specific parser) is needed for the new check to work.


pruned++
if dryRun {
continue
}
if err := os.Remove(filepath.Clean(path)); err != nil {

P1 Badge Prevent pruning bases that still have extends dependents

This deletion path removes sunsetted model files without checking whether other YAML entries still extends them. In the current catalog there are wrapper models whose own sunset_date is null while their base has a dated sunset; once the base crosses the cutoff, monthly prune will delete only the base and the subsequent build fails in ResolveExtends (extends ... which does not exist). Pruning should either cascade to wrappers or skip bases with live dependents.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant