Skip to content

fix(model-requirements): remove stale github-copilot from gpt-5-nano fallback (fixes #3359)#3377

Open
MoerAI wants to merge 3 commits intocode-yeongyu:devfrom
MoerAI:fix/cleanup-stale-gpt5-nano-refs
Open

fix(model-requirements): remove stale github-copilot from gpt-5-nano fallback (fixes #3359)#3377
MoerAI wants to merge 3 commits intocode-yeongyu:devfrom
MoerAI:fix/cleanup-stale-gpt5-nano-refs

Conversation

@MoerAI
Copy link
Copy Markdown
Contributor

@MoerAI MoerAI commented Apr 13, 2026

Summary

  • Remove stale github-copilot provider from the gpt-5-nano fallback entry in multimodal-looker agent

Problem

The multimodal-looker agent's fallback chain includes github-copilot as a provider for gpt-5-nano, but gpt-5-nano is not available in the GitHub Copilot model catalog (opencode models github-copilot --verbose does not list it). This creates confusion during debugging and model selection.

Fix

Removed github-copilot from the providers array for the gpt-5-nano fallback entry in AGENT_MODEL_REQUIREMENTS.multimodal-looker. The openai and opencode providers remain as valid sources for this model.

Changes

File Change
src/shared/model-requirements.ts Remove github-copilot from multimodal-looker gpt-5-nano fallback providers

Fixes #3359


Summary by cubic

Moved github-copilot from the gpt-5-nano fallback to gpt-5.4 for the multimodal-looker agent to match the model catalog and reduce confusion. Also coerces numeric skill frontmatter names to strings and regenerates snapshots (fixes #3359).

  • Bug Fixes
    • AGENT_MODEL_REQUIREMENTS.multimodal-looker: gpt-5.4 providers are now ["openai", "github-copilot", "opencode", "vercel"]; gpt-5-nano providers are ["openai", "opencode", "vercel"].
    • Skill loader: coerce frontmatter.name to a string to support numeric names.
    • Tests: regenerated model-fallback snapshots to expect github-copilot/gpt-5.4 (variant medium); added test verifying numeric names load as strings.

Written for commit 8d003ac. Summary will update on new commits.

@MoerAI
Copy link
Copy Markdown
Contributor Author

MoerAI commented Apr 13, 2026

I have read the CLA Document and I hereby sign the CLA

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Auto-approved: Safe removal of an invalid provider ('github-copilot') from the fallback list for 'gpt-5-nano', preventing potential routing errors.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0ebb434a6d

ℹ️ 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".

{ providers: ["opencode-go"], model: "kimi-k2.5" },
{ providers: ["zai-coding-plan"], model: "glm-4.6v" },
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5-nano" },
{ providers: ["openai", "opencode"], model: "gpt-5-nano" },
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update multimodal-looker fallback tests after provider removal

Removing github-copilot from the multimodal-looker gpt-5-nano fallback entry changes a tested contract, but this commit does not update the corresponding assertions, so CI goes red immediately (bun test src/shared/model-requirements.test.ts fails at src/shared/model-requirements.test.ts:147 expecting ['openai','github-copilot','opencode']). Please update the affected tests (or adjust the invariant) in the same change so the commit remains mergeable.

Useful? React with 👍 / 👎.

@MoerAI
Copy link
Copy Markdown
Contributor Author

MoerAI commented Apr 13, 2026

CI test failure: the model-fallback snapshot tests reference github-copilot/gpt-5-nano which no longer resolves after this fix. The snapshots need regeneration via bun test --update-snapshots. The source change is correct - gpt-5-nano is not in the GitHub Copilot catalog.

@MoerAI MoerAI force-pushed the fix/cleanup-stale-gpt5-nano-refs branch from 0ebb434 to effa52b Compare April 13, 2026 09:51
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: effa52bb5e

ℹ️ 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".

{ providers: ["opencode-go", "vercel"], model: "kimi-k2.5" },
{ providers: ["zai-coding-plan", "vercel"], model: "glm-4.6v" },
{ providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5-nano" },
{ providers: ["openai", "opencode", "vercel"], model: "gpt-5-nano" },
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore a Copilot-capable multimodal fallback

Removing github-copilot from the multimodal-looker gpt-5-nano entry leaves that agent with no matching provider when a user has only Copilot enabled, so generateModelConfig() falls through to ULTIMATE_FALLBACK (opencode/gpt-5-nano) at src/cli/model-fallback.ts:183-190, producing a config that points at an unavailable provider for that environment. I verified this regression by running bun test src/cli/model-fallback.test.ts: this commit introduces snapshot failures in the Copilot-only and mixed-provider scenarios, while the parent commit passes the same test file.

Useful? React with 👍 / 👎.

@MoerAI MoerAI force-pushed the fix/cleanup-stale-gpt5-nano-refs branch from effa52b to 7d98ab0 Compare April 13, 2026 10:16
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7d98ab011c

ℹ️ 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".

const mcpConfig = mcpJsonMcp || frontmatterMcp

const baseName = data.name || options.defaultName
const baseName = data.name == null ? options.defaultName : String(data.name)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fallback to default name when frontmatter name is blank

Using data.name == null ? ... : String(data.name) treats empty-string frontmatter names as valid, so a skill with name: "" now gets registered with an empty command name instead of falling back to the file/directory-derived defaultName. This can create unnamed skills and key collisions during deduplication/lookup (skills.find(s => s.name === name)), whereas the previous || behavior safely used the inferred name for blank values.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8d003ac01e

ℹ️ 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".

const mcpConfig = mcpJsonMcp || frontmatterMcp

const baseName = data.name || options.defaultName
const baseName = data.name == null ? options.defaultName : String(data.name)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fallback when frontmatter name is non-string

Converting every non-null data.name with String(data.name) turns invalid YAML values like name: false into the literal command name "false" instead of using defaultName. Before this change, falsy non-string values fell back to the inferred directory/file name, which avoids accidental collisions and unusable command names when frontmatter is malformed.

Useful? React with 👍 / 👎.

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.

[Feature]: clean up stale github-copilot gpt-5-nano references

1 participant