Skip to content

Commit dff681b

Browse files
feat(engine): update default model to claude-opus-4.7 (#355)
Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/0cefb0aa-b28b-4769-90c5-885e43d1994a Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
1 parent 15fdedd commit dff681b

9 files changed

Lines changed: 18 additions & 18 deletions

docs/engine.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ engine: copilot
1313
# Object format with additional options
1414
engine:
1515
id: copilot
16-
model: claude-opus-4.5
16+
model: claude-opus-4.7
1717
timeout-minutes: 30
1818
```
1919
@@ -22,7 +22,7 @@ engine:
2222
| Field | Type | Default | Description |
2323
|-------|------|---------|-------------|
2424
| `id` | string | `copilot` | Engine identifier. Currently only `copilot` (GitHub Copilot CLI) is supported. |
25-
| `model` | string | `claude-opus-4.5` | AI model to use. Options include `claude-sonnet-4.5`, `gpt-5.2-codex`, `gemini-3-pro-preview`, etc. |
25+
| `model` | string | `claude-opus-4.7` | AI model to use. Options include `claude-sonnet-4.5`, `gpt-5.2-codex`, `gemini-3-pro-preview`, etc. |
2626
| `timeout-minutes` | integer | *(none)* | Maximum time in minutes the agent job is allowed to run. Sets `timeoutInMinutes` on the `Agent` job in the generated pipeline. |
2727
| `version` | string | *(none)* | Engine CLI version to install (e.g., `"0.0.422"`, `"latest"`). Overrides the pinned `COPILOT_CLI_VERSION`. Set to `"latest"` to use the newest available version. |
2828
| `agent` | string | *(none)* | Custom agent file identifier (Copilot only). Adds `--agent <name>` to the CLI invocation, selecting a custom agent from `.github/agents/`. |

docs/front-matter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ target: standalone # Optional: "standalone" (default) or "1es". See docs/targets
1414
engine: copilot # Engine identifier. Defaults to copilot. Currently only 'copilot' (GitHub Copilot CLI) is supported.
1515
# engine: # Alternative object format (with additional options)
1616
# id: copilot
17-
# model: claude-opus-4.5
17+
# model: claude-opus-4.7
1818
# timeout-minutes: 30
1919
schedule: daily around 14:00 # Fuzzy schedule syntax - see docs/schedule-syntax.md
2020
# schedule: # Alternative object format (with branch filtering)

docs/local-development.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ awk '/^---$/{n++; next} n>=2' "$AGENT_FILE" > "$WORK_DIR/agent-prompt.md"
162162
copilot \
163163
--prompt "@$WORK_DIR/agent-prompt.md" \
164164
--additional-mcp-config "@$WORK_DIR/mcp-config.json" \
165-
--model claude-opus-4.5 \
165+
--model claude-opus-4.7 \
166166
--no-ask-user \
167167
--disable-builtin-mcps \
168168
--allow-all-tools

docs/template-markers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Should be replaced with the full AWF `--` command string for the Agent job. Gene
117117
The binary path defaults to `/tmp/awf-tools/copilot` but can be overridden via `engine.command`. The engine controls how the prompt is delivered (`--prompt "$(cat ...)"`), and how MCP config is referenced (`--additional-mcp-config @...`).
118118

119119
Engine args include:
120-
- `--model <model>` - AI model from `engine` front matter field (default: claude-opus-4.5)
120+
- `--model <model>` - AI model from `engine` front matter field (default: claude-opus-4.7)
121121
- `--agent <name>` - Custom agent file from `engine.agent` (selects from `.github/agents/`)
122122
- `--api-target <hostname>` - Custom API endpoint from `engine.api-target` (GHES/GHEC)
123123
- `--no-ask-user` - Prevents interactive prompts

prompts/create-ado-agentic-workflow.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ When working with a user in a chat session (e.g., Copilot Chat, Claude, Codex):
1515
- **Don't overwhelm with options** — introduce advanced features (MCP servers, permissions, multi-repo) only when relevant to the user's task.
1616
- **Translate intent into configuration** — if a user says "I want it to check for outdated packages every Monday", you know that means `schedule: weekly on monday` and probably `safe-outputs: create-pull-request`.
1717
- **Validate incrementally** — confirm the key decisions (schedule, permissions, safe outputs) before producing the final file.
18-
- **Explain trade-offs** when relevant — e.g., `claude-opus-4.5` vs `claude-sonnet-4.5` for cost vs capability.
18+
- **Explain trade-offs** when relevant — e.g., `claude-opus-4.7` vs `claude-sonnet-4.5` for cost vs capability.
1919

2020
### Non-Interactive Mode
2121

2222
When triggered automatically (e.g., from a script, CI, or autonomous agent flow):
2323

2424
- **Make reasonable assumptions** based on repository context — inspect `package.json`, `Cargo.toml`, `.csproj`, or other project files to infer what the agent should do.
25-
- **Use sensible defaults**`claude-opus-4.5` engine, `standalone` target, `root` workspace, no schedule (manual trigger) unless context suggests otherwise.
25+
- **Use sensible defaults**`claude-opus-4.7` engine, `standalone` target, `root` workspace, no schedule (manual trigger) unless context suggests otherwise.
2626
- **Produce the complete file immediately** without asking questions.
2727
- **Include a summary comment** at the end explaining the assumptions made.
2828

@@ -66,11 +66,11 @@ description: "Checks for outdated dependencies and opens PRs to update them"
6666
6767
Default engine is `copilot` (GitHub Copilot CLI). The `engine:` field is an engine identifier, not a model name. Only include `engine:` if you need to set a non-default model or timeout.
6868

69-
The default model is `claude-opus-4.5`. To use a different model, use the object form:
69+
The default model is `claude-opus-4.7`. To use a different model, use the object form:
7070

7171
| Model | Use when |
7272
|---|---|
73-
| `claude-opus-4.5` | Default. Best reasoning, complex tasks. |
73+
| `claude-opus-4.7` | Default. Best reasoning, complex tasks. |
7474
| `claude-sonnet-4.5` | Faster, cheaper, simpler tasks. |
7575
| `gpt-5.2-codex` | Code-heavy tasks. |
7676
| `gemini-3-pro-preview` | Google ecosystem tasks. |
@@ -481,7 +481,7 @@ When generating the agent file:
481481

482482
1. **Produce exactly one `.md` file.** Do not create separate documentation, architecture notes, or runbooks.
483483
2. **Respect existing repository conventions** for file placement. Look at where existing pipeline YAML files or agent markdown files are located in the repo. If no convention exists, ask the user where they'd like the file placed.
484-
3. **Omit optional fields when they match defaults** — no `engine:` for `claude-opus-4.5`, no `workspace:` for `root`, no `target:` for `standalone`.
484+
3. **Omit optional fields when they match defaults** — no `engine:` for `claude-opus-4.7`, no `workspace:` for `root`, no `target:` for `standalone`.
485485
4. **Always validate** that write-requiring safe-outputs (`create-pull-request`, `create-work-item`) have `permissions.write` set.
486486

487487
## Compilation

prompts/debug-ado-agentic-workflow.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,13 @@ network:
141141
# Correct — engine identifier with model
142142
engine:
143143
id: copilot
144-
model: claude-opus-4.5
144+
model: claude-opus-4.7
145145
```
146146
- **Timeout**: Agent hits the Azure DevOps job timeout (default 60 minutes). Set an explicit timeout:
147147
```yaml
148148
engine:
149149
id: copilot
150-
model: claude-opus-4.5
150+
model: claude-opus-4.7
151151
timeout-minutes: 120
152152
```
153153
- **API rate limiting**: The model provider is rate-limiting requests. Check Copilot CLI logs for 429 responses.

prompts/update-ado-agentic-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ Before finalizing any update, verify:
256256

257257
9. **Parameter names**: Runtime `parameters:` names must be valid ADO identifiers.
258258

259-
10. **Engine model**: If `engine` is set to the default (`claude-opus-4.5`), it can be omitted.
259+
10. **Engine model**: If `engine` is set to the default (`claude-opus-4.7`), it can be omitted.
260260

261261
---
262262

src/compile/types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ pub struct ScheduleOptions {
156156
/// # Object format (with additional options)
157157
/// engine:
158158
/// id: copilot
159-
/// model: claude-opus-4.5
159+
/// model: claude-opus-4.7
160160
/// timeout-minutes: 30
161161
/// version: latest
162162
/// agent: my-custom-agent

src/engine.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const BLOCKED_ENV_KEYS: &[&str] = &[
3838
];
3939

4040
/// Default model used by the Copilot engine when no model is specified in front matter.
41-
pub const DEFAULT_COPILOT_MODEL: &str = "claude-opus-4.5";
41+
pub const DEFAULT_COPILOT_MODEL: &str = "claude-opus-4.7";
4242

4343
/// Default pinned version of the Copilot CLI NuGet package.
4444
/// Override per-agent via `engine: { id: copilot, version: "1.0.35" }` in front matter.
@@ -595,8 +595,8 @@ mod tests {
595595
let params = Engine::Copilot
596596
.args(&front_matter, &collect_extensions(&front_matter))
597597
.unwrap();
598-
// Default engine (copilot) uses default model (claude-opus-4.5)
599-
assert!(params.contains("--model claude-opus-4.5"));
598+
// Default engine (copilot) uses default model (claude-opus-4.7)
599+
assert!(params.contains("--model claude-opus-4.7"));
600600
assert!(params.contains("--disable-builtin-mcps"));
601601
}
602602

@@ -631,7 +631,7 @@ mod tests {
631631
let params = engine
632632
.args(&front_matter, &collect_extensions(&front_matter))
633633
.unwrap();
634-
assert!(params.contains("--model claude-opus-4.5"));
634+
assert!(params.contains("--model claude-opus-4.7"));
635635
}
636636

637637
#[test]

0 commit comments

Comments
 (0)