Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,9 @@ inputs:
review_model:
description: "Override the model used for code review (e.g., 'claude-sonnet-4-5-20250929', 'gpt-5.1-codex'). Only applies to review flows."
required: false
default: "gpt-5.2"
default: "claude-opus-4-6"
reasoning_effort:
description: "Override reasoning effort for review flows (passed to Droid Exec as --reasoning-effort). If empty and review_model is also empty, the action defaults internally to gpt-5.2 at high reasoning."
description: "Override reasoning effort for review flows (passed to Droid Exec as --reasoning-effort). If empty and review_model is also empty, the action defaults internally to claude-opus-4-6 at high reasoning."
required: false
default: "high"
review_use_validator:
Expand Down
2 changes: 1 addition & 1 deletion review/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ inputs:
review_model:
description: "Model to use for review"
required: false
default: "gpt-5.2"
default: "claude-opus-4-6"
reasoning_effort:
description: "Reasoning effort for review (passed to Droid Exec as --reasoning-effort)"
required: false
Expand Down
2 changes: 1 addition & 1 deletion test/modes/tag/review-command.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ describe("prepareReviewMode", () => {
(call: unknown[]) => call[0] === "droid_args",
) as [string, string] | undefined;
// When neither REVIEW_MODEL nor REASONING_EFFORT is provided, no --model or --reasoning-effort
// flags are added. Defaults are handled by the action.yml inputs (gpt-5.2 / high).
// flags are added. Defaults are handled by the action.yml inputs (claude-opus-4-6 / high).
expect(droidArgsCall?.[1]).not.toContain("--model");
expect(droidArgsCall?.[1]).not.toContain("--reasoning-effort");
});
Expand Down
31 changes: 31 additions & 0 deletions test/review-model-default-sync.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { describe, expect, it } from "bun:test";
import { readFileSync } from "node:fs";
import { join } from "node:path";

function extractReviewModelDefault(yaml: string): string {
const match = yaml.match(
/review_model:\n(?:\s+.*\n)*?\s+default:\s*"([^"]+)"/,
);

expect(match).toBeTruthy();
return match?.[1] ?? "";
}

describe("review_model default sync", () => {
it("keeps review_model default in sync between action manifests", () => {
const rootActionYaml = readFileSync(
join(process.cwd(), "action.yml"),
"utf8",
);
const reviewActionYaml = readFileSync(
join(process.cwd(), "review", "action.yml"),
"utf8",
);

const rootDefault = extractReviewModelDefault(rootActionYaml);
const reviewDefault = extractReviewModelDefault(reviewActionYaml);

expect(rootDefault).toBe(reviewDefault);
expect(rootDefault.length).toBeGreaterThan(0);
});
});