Skip to content

Migrate remaining Copilot GPT-5.6 Terra pins before 16 November 2026 retirement - #76319

Open
SivaKesava1 with Copilot wants to merge 4 commits into
mainfrom
copilot/migrate-copilot-gpt-5-6-pins
Open

SivaKesava1 with Copilot wants to merge 4 commits into
mainfrom
copilot/migrate-copilot-gpt-5-6-pins

Conversation

Copilot AI commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

GitHub retires GPT-5.6 Terra in Copilot on 16 November 2026. Three workflows still pin it through Copilot, and AWF's automatic recovery for retired models doesn't map Terra. That gives no guarantee those runs keep working, and it would break the exact-identity smoke.

Changes

  • cloclo: drops the top-level copilot/gpt-5.6-terra pin and adds cost/balanced routing to the existing Codex/GitHub engine.
    • No allowed-models, so the compiler limits candidates to github-copilot/gpt-*.
    • Authentication is unchanged: still secrets.COPILOT_GITHUB_TOKEN, with no copilot-requests: write added.
  • windows: model changes to copilot/gpt-6-luna. No routing, because AWF routing requires a Linux host and this runs on windows-latest.
  • smoke-copilot-sub-agents: terra-whoami becomes luna-whoami on gpt-6-luna.
    • Updated: the agent definition, the prompt's call steps and expected answers, and the post-step's expected row ["luna-whoami", "gpt-6-luna", "exact", "/responses"].
    • Unchanged: Haiku still runs first, gpt5-whoami, SDK mode, the experiment, and the gate's strictness.
  • Locks: only the three matching .lock.yml files are regenerated, with make recompile.
  • Tests: updated only the assertions that encoded the Terra smoke case.
    • Files: smoke_copilot_sub_agents.test.cjs and model_pin_check.test.cjs.
    • The alias test's fake fallback model is now gpt-6.1-sol, so it doesn't collide with Luna's served model.
# cloclo.md
engine:
  id: codex
  model-provider: github
  model-routing:
    goal: cost
    mode: balanced

Detection and evals

Their configuration is untouched; only what they inherit changes:

Workflow Detection model Evals model
cloclo Falls back to GH_AW_MODEL_DETECTION_COPILOT → GH_AW_DEFAULT_MODEL_COPILOT → detection; not routed copilot/gpt-6-luna-decisions (unchanged)
windows copilot/gpt-6-luna copilot/gpt-6-luna-decisions (unchanged)
smoke-copilot-sub-agents gpt-5.3-codex (unchanged) copilot/gpt-6-luna-decisions (unchanged)

Case A (compile and inventory)

  • Each of the three workflows compiles with the same warnings as on main.
  • No workflow .md still has a Copilot Terra pin or terra-whoami. The remaining Terra references are out of scope:
    • openai/gpt-5.6-terra in daily-fact, windows-grower and feature-grower
    • smoke-codex-routed's allowed-models list and its matching assertion
  • Cases B–D (PR-branch dispatches) still need a maintainer-authorized run.

Known failures on main

  • make validate-otel-contract fails on main as well.
  • make fix fails on main: a codemod errors on sighthound-security-scan.md. The unrelated rewrites it makes elsewhere are not included here.

… Luna, Luna sub-agent smoke)

Co-authored-by: SivaKesava1 <11771739+SivaKesava1@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate remaining Copilot GPT-5.6 Terra pins before November 16, 2026 Migrate remaining Copilot GPT-5.6 Terra pins before 16 November 2026 retirement Nov 9, 2026
Copilot AI requested a review from SivaKesava1 November 9, 2026 22:47
Comment thread .github/workflows/cloclo.lock.yml Resolved
@SivaKesava1
SivaKesava1 marked this pull request as ready for review November 9, 2026 22:50
Copilot AI auto review requested due to automatic review settings November 9, 2026 22:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Hosted acceptance cases B–D require maintainer-authorized runs to verify routed-model token entitlement, Windows Luna execution, and exact Luna sub-agent identity with successful /responses evidence.

No open issues 🎉

What changed in this PR

Migrates the three remaining Copilot-backed Terra pins ahead of the 16 November retirement, addressing #76318 while preserving existing authentication, permissions, and smoke-test strictness.

Changes:

  • Replaces Cloclo’s fixed model with cost/balanced routing and pins Windows to GPT-6 Luna without routing.
  • Replaces the Terra identity sub-agent with Luna and updates related regression assertions.
  • Regenerates the three matching workflow locks. Live branch-run validation remains pending.
File Description
actions/​setup/​js/​smoke_copilot_sub_agents.test.cjs Updates Luna evidence fixtures and failure assertions.
actions/​setup/​js/​model_pin_check.test.cjs Updates expected Luna identity and distinct-model checks.
.github/​workflows/​windows.md Replaces the Terra pin with GPT-6 Luna.
.github/​workflows/​windows.lock.yml Updates compiled model settings and pricing metadata.
.github/​workflows/​smoke-copilot-sub-agents.md Replaces Terra with Luna in the agent, prompt, and evidence gate.
.github/​workflows/​smoke-copilot-sub-agents.lock.yml Synchronizes compiled sub-agent metadata and assertions.
.github/​workflows/​cloclo.md Removes the Terra pin and enables cost/balanced routing.
.github/​workflows/​cloclo.lock.yml Adds routing setup, runtime model reporting, and inherited detection defaults.

Review effort: Balanced (auto)

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

🍳 A little prep to help this PR along! Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.

Keeping the changes focused; human review and CI get the final taste test. No merging or CI triggering.

Structured data
{
  "completed_task": 0,
  "head": "70827ecf583ffb0ce467a382e712a0005005a5ea",
  "kind": "requested",
  "schema_version": "1",
  "state": "3e0c77b7879dddca9decac00ad3adbf080da9c97bbc1bc2d44d485280bafc963",
  "work": [],
  "workflow": "pr-sous-chef"
}

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~6 AIC · ⌖ ~16 AIC · ⊞ 1.3K · ◷
Comment /souschef to run again

…ot-gpt-5-6-pins

# Conflicts:
#	.github/workflows/cloclo.lock.yml
#	.github/workflows/smoke-copilot-sub-agents.lock.yml
#	.github/workflows/windows.lock.yml
#	actions/setup/js/model_pin_check.test.cjs

Co-authored-by: SivaKesava1 <11771739+SivaKesava1@users.noreply.github.com>
GH_AW_ROUTING_PROMPT: /tmp/gh-aw/aw-prompts/user.txt
GH_AW_ROUTING_PROMPT_FALLBACK: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_ROUTING_CONVERSATION_FILE: /tmp/gh-aw/routing-conversation.json
run: node -e "const fs=require('node:fs'); const path=require('node:path'); const readPrompt=file=>{try{return fs.readFileSync(file,'utf8');}catch(error){if(error.code==='ENOENT')return '';throw error;}}; let prompt=readPrompt(process.env.GH_AW_ROUTING_PROMPT); if (!prompt.trim()) prompt=readPrompt(process.env.GH_AW_ROUTING_PROMPT_FALLBACK); if (!prompt.trim()) throw new Error('Rendered workflow prompt is empty; cannot route this task'); const destination=process.env.GH_AW_ROUTING_CONVERSATION_FILE; fs.mkdirSync(path.dirname(destination),{recursive:true,mode:0o700}); fs.writeFileSync(destination,JSON.stringify([{role:'user',parts:[{text:prompt}]}]),{mode:0o600});"
…ot-gpt-5-6-pins

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
GH_AW_ROUTING_PROMPT: /tmp/gh-aw/aw-prompts/user.txt
GH_AW_ROUTING_PROMPT_FALLBACK: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_ROUTING_CONVERSATION_FILE: /tmp/gh-aw/routing-conversation.json
run: node -e "const fs=require('node:fs'); const path=require('node:path'); const readPrompt=file=>{try{return fs.readFileSync(file,'utf8');}catch(error){if(error.code==='ENOENT')return '';throw error;}}; let prompt=readPrompt(process.env.GH_AW_ROUTING_PROMPT); if (!prompt.trim()) prompt=readPrompt(process.env.GH_AW_ROUTING_PROMPT_FALLBACK); if (!prompt.trim()) throw new Error('Rendered workflow prompt is empty; cannot route this task'); const destination=process.env.GH_AW_ROUTING_CONVERSATION_FILE; fs.mkdirSync(path.dirname(destination),{recursive:true,mode:0o700}); fs.writeFileSync(destination,JSON.stringify([{role:'user',parts:[{text:prompt}]}]),{mode:0o600});"

This branch has not been deployed

No deployments
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.

Migrate remaining Copilot GPT-5.6 Terra pins before 16 November 2026

5 participants