Skip to content

fix(ai-review): default opus-model to the bare "opus" alias - #47

Merged
Hicham Zinalabdin (hichamza) merged 1 commit into
mainfrom
fix/ai-review-opus-model-alias
Aug 12, 2026
Merged

fix(ai-review): default opus-model to the bare "opus" alias#47
Hicham Zinalabdin (hichamza) merged 1 commit into
mainfrom
fix/ai-review-opus-model-alias

Conversation

@hichamza

@hichamza Hicham Zinalabdin (hichamza) commented Aug 12, 2026

Copy link
Copy Markdown
Member

Summary

  • opus-model now defaults to opus instead of a pinned version (claude-opus-5), matching the review stage's own routing fallback in the shell step.
  • Updated the README table to match.

Why

Avoids the default going stale against a hardcoded model ID — opus always resolves to the current model in that tier.

Test plan

  • node --test lib/*.test.js — 145/145 passing (unaffected; these two lines aren't covered by unit tests)
  • Confirm a live ai-review run resolves the opus alias correctly via claude-code-action

🤖 AI Review — checklist verification

  • node --test lib/*.test.js — 145/145 passing (unaffected; these two lines aren't covered by unit tests) — Test execution is out of scope for this review session (no toolchain access, per rubric §12 — test_execution is reported as skipped). Structurally confirmed via grep that ai-review/lib/*.test.js contain no references to claude-opus-5 or opus-model, which supports the 'unaffected' claim, but the 145/145 pass count itself could not be independently reproduced without running the suite.
  • ❔ Confirm a live ai-review run resolves the opus alias correctly via claude-code-action — This is an explicit manual/post-merge verification step (left unchecked by the author) that requires observing a live workflow run; it cannot be checked from static code or tests.

Verification evidence:

  • gh pr view 47 --json headRefOid,baseRefOid; cat .ai-review/manifest.json → headRefOid and baseRefOid from gh pr view 47 exactly match manifest.json's head_sha/base_sha — confirmed reviewing the correct range.
  • git diff 103518154652db3c4f99170a77bd43f3fc80fd9d d0009200119bcc1e27d3aa9fc1307c5b31993549 -- ai-review/README.md ai-review/action.yml → 3 one-line hunks: README.md table row default claude-opus-5opus; action.yml input default: claude-opus-5opus; action.yml shell fallback ${OPUS:-claude-opus-5}${OPUS:-opus}. No other lines touched.
  • grep -r 'claude-opus-5' (via Grep tool, repo-wide) → No files found — the removal is complete, no dangling references.
  • grep -r 'opus-model|opus_model' (via Grep tool, repo-wide) → Only ai-review/README.md, ai-review/action.yml, and an unrelated ADR prose mention (docs/adr/0003) reference opus-model — no consumer workflow in this repo sets it explicitly.
  • grep -r 'claude-opus-5|opus-model' ai-review/lib/ → No matches — confirms ai-review/lib/*.test.js does not reference the changed strings/lines.

Last updated by ai-review · verdict: pass.

✅ ai-qa: PASS

Deploy health: healthy · findings P0 0 · P1 0 · P2 0 · P3 0

Last updated by ai-qa · QA run

Drops the pinned version from the review stage's Opus default so the
gate always runs the current model in that tier instead of going stale
against a hardcoded ID.

@mtm-bot mtm-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ PASS

1 P2 / 0 P3 finding(s) noted — non-blocking.

Confidence: 95 · Merge risk: low
P0: 0 · P1: 0 · P2: 1 · P3: 0

Summary

This is a minimal, well-scoped fix: it changes opus-model's default from the pinned claude-opus-5 to the bare tier alias opus in exactly three places — the README docs table, the action.yml input's declared default, and the shell routing step's ${OPUS:-...} fallback — plus the matching README prose. All three are updated consistently and no stale reference to claude-opus-5 remains anywhere in the repo.

Intent alignment: ✅ Aligned. The PR body states the change precisely ("opus-model now defaults to opus instead of a pinned version... matching the review stage's own routing fallback in the shell step... Updated the README table to match") and the diff implements exactly that, nothing more, nothing less.

P0 — Blockers

None.

P1 — Should Fix

None.

P2 — Nice-to-Have

  • ai-review/README.md:149 (and ai-review/action.yml:114/487) — Only opus-model was switched to a bare tier alias. sonnet-model (claude-sonnet-5) and haiku-model (claude-haiku-4-5) remain pinned to versioned IDs and are exposed to the exact same "default goes stale against a hardcoded model ID" failure mode this PR just fixed for Opus. Worth a follow-up PR applying the same treatment, so the fix doesn't have to be rediscovered independently for the other two tiers later.

P3 — Nits

None.

Strengths

  • Precisely scoped: the diff does exactly what the PR description says and nothing else — no scope creep.
  • All three occurrences of the old pinned value were updated together and consistently (docs table, declared input default, and the shell fallback that actually drives runtime behavior), so there's no risk of the README and the runtime default drifting apart.
  • Verified no dangling reference to claude-opus-5 remains anywhere in the repository after the change.
  • Verified no other workflow/consumer in this repo overrides opus-model, so nothing downstream is broken by the new default.
  • The PR body's claim that these two lines aren't unit-test-covered checks out — ai-review/lib/*.test.js contains no reference to either changed string.
  • This is a Docs/Config-only change (composite-action default value + doc text, no unit-testable logic), so the missing-tests exemption in the rubric's §12 applies cleanly; no test-coverage gap here.

@hichamza
Hicham Zinalabdin (hichamza) merged commit 60a91e6 into main Aug 12, 2026
6 checks passed
@hichamza
Hicham Zinalabdin (hichamza) deleted the fix/ai-review-opus-model-alias branch August 12, 2026 03:50
@mtm-bot

mtm-bot Bot commented Aug 12, 2026

Copy link
Copy Markdown

✅ ai-qa: PASS

Merge commit 60a91e6d0eef

Signal Result
Deploy health (https://raw.githubusercontent.com/EdulyCom/github-actions/main/README.md) ✅ healthy
QA review ⚠️ did not run — reporting deploy-health signal only

Posted by mtm-bot[bot] · workflow run

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant