diff --git a/.github/workflows/ai-review.yml b/.github/workflows/ai-review.yml index f93ce0d..6d7cae3 100644 --- a/.github/workflows/ai-review.yml +++ b/.github/workflows/ai-review.yml @@ -19,7 +19,7 @@ on: review_model: description: "Explicit model for analysis and optional native benchmark." type: string - default: "gpt-5.6-terra" + default: "gpt-6-astra" review_effort: description: "Reasoning effort: low, medium, high, xhigh, or max." type: string @@ -31,7 +31,7 @@ on: codex_version: description: "Pinned stable CLI version; candidate versions can be tested in dry runs." type: string - default: "0.149.0" + default: "0.163.0" incremental: description: "Review changes since the last compatible completed review." type: boolean @@ -75,7 +75,7 @@ on: review_model: description: "Explicit model for analysis and optional native benchmark." type: string - default: "gpt-5.6-terra" + default: "gpt-6-astra" review_effort: description: "Reasoning effort: low, medium, high, xhigh, or max." type: string @@ -87,7 +87,7 @@ on: codex_version: description: "Pinned stable CLI version; candidate versions can be tested in dry runs." type: string - default: "0.149.0" + default: "0.163.0" incremental: description: "Review changes since the last compatible completed review." type: boolean @@ -135,9 +135,9 @@ jobs: subject_url: ${{ steps.resolve-target.outputs.subject_url }} env: - REVIEW_MODEL: ${{ inputs.review_model || 'gpt-5.6-terra' }} + REVIEW_MODEL: ${{ inputs.review_model || 'gpt-6-astra' }} REVIEW_EFFORT: ${{ inputs.review_effort || 'high' }} - CODEX_VERSION: ${{ inputs.codex_version || '0.149.0' }} + CODEX_VERSION: ${{ inputs.codex_version || '0.163.0' }} REVIEW_BOT_LOGIN: ${{ inputs.review_bot_login || 'jitsu-code-review[bot]' }} steps: @@ -465,9 +465,8 @@ jobs: {"type": "object", "additionalProperties": false, "required": ["version", "reviewed_sha", "completion_status", "summary", "findings"], "properties": {"version": {"type": "integer", "enum": [1]}, "reviewed_sha": {"type": "string"}, "completion_status": {"type": "string", "enum": ["complete", "incomplete"]}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["priority", "title", "body", "path", "side", "start_line", "end_line"], "properties": {"priority": {"type": "string", "enum": ["P0", "P1", "P2"]}, "title": {"type": "string"}, "body": {"type": "string"}, "path": {"type": "string"}, "side": {"type": "string", "enum": ["LEFT", "RIGHT"]}, "start_line": {"type": "integer"}, "end_line": {"type": "integer"}}}}}} model: ${{ env.REVIEW_MODEL }} effort: ${{ env.REVIEW_EFFORT }} - # the CLI floated to npm latest too; pinned to the release verified - # clean with v1.11 so a CLI release can't change review behaviour - # under us either + # Keep the CLI pinned independently of the action. Version 0.163.0 + # exited cleanly with v1.11 in structured and native review benchmarks. codex-version: ${{ env.CODEX_VERSION }} codex-home: .github/codex/home sandbox: danger-full-access @@ -637,9 +636,9 @@ jobs: REVIEW_BASE: ${{ needs.ai-review.outputs.compare_base }} FULL_BASE: ${{ needs.ai-review.outputs.full_base }} REVIEW_PROFILE: ${{ needs.ai-review.outputs.review_profile }} - REVIEW_MODEL: ${{ inputs.review_model || 'gpt-5.6-terra' }} + REVIEW_MODEL: ${{ inputs.review_model || 'gpt-6-astra' }} REVIEW_EFFORT: ${{ inputs.review_effort || 'high' }} - CODEX_VERSION: ${{ inputs.codex_version || '0.149.0' }} + CODEX_VERSION: ${{ inputs.codex_version || '0.163.0' }} EXPECTED_BOT_LOGIN: ${{ inputs.review_bot_login || 'jitsu-code-review[bot]' }} REVIEW_REPO: ${{ github.workspace }}/reviewed-repo REVIEW_FILE: ${{ github.workspace }}/review-artifact/review.json diff --git a/README.md b/README.md index d57121d..4202964 100644 --- a/README.md +++ b/README.md @@ -173,10 +173,10 @@ These inputs are available through `workflow_call` and manual dispatch: | Input | Default | Purpose | |-------|---------|---------| -| `review_model` | `gpt-5.6-terra` | Explicit model identifier | +| `review_model` | `gpt-6-astra` | Explicit model identifier | | `review_effort` | `high` | `low`, `medium`, `high`, `xhigh`, or `max`; model must support it | | `analysis_timeout_minutes` | `12` | Per-engine timeout; integer from 1 to 30 | -| `codex_version` | `0.149.0` | Pinned stable CLI version; floating versions are rejected | +| `codex_version` | `0.163.0` | Pinned stable CLI version; floating versions are rejected | | `incremental` | `true` | Set false to force a full comparison | | `review_bot_login` | `jitsu-code-review[bot]` | Trusted completion-marker author; must match the posting App | | `dry_run` | `false` | Validate/archive without posting or advancing coverage | @@ -190,18 +190,18 @@ isolate prompt wording as the only variable. Both outputs are archived, includin `native-review.md` and `native-events.jsonl` (which includes native token usage events). The structured result still passes the normal validator. Benchmark failure fails the run. -Example: compare a newer pinned CLI without adopting it as the production default: +Example: compare a candidate CLI without adopting it as the production default: ```sh gh workflow run ai-review.yml --repo jitsucom/github-workflows --ref \ - -f pr_number= -f codex_version=0.163.0 \ + -f pr_number= -f codex_version= \ -f incremental=false -f dry_run=true -f benchmark_native=true ``` For reusable callers, pass the same inputs under `with:`. Primary token usage is collected -before the native benchmark; other models retain usage counts but have no estimated -cost until their pricing is explicitly configured. No runtime or model default changes -are implied by a successful benchmark. Evaluate confirmed findings, false positives, +before the native benchmark. Cost estimation currently has rates only for Terra; the +Astra default records usage counts without an estimated cost until its pricing is configured. +No runtime or model default changes are implied by a successful benchmark. Evaluate confirmed findings, false positives, runtime and usage across representative PRs before adopting a new default. #### Versioning diff --git a/tests/test_review_context.py b/tests/test_review_context.py index eea2809..fe1f9fc 100644 --- a/tests/test_review_context.py +++ b/tests/test_review_context.py @@ -115,8 +115,8 @@ def test_checkout_and_prompt_contract(self): self.assertIn('Intentional tradeoffs are context, not immunity', prompt) self.assertIn('Re-raise a dismissed finding only if new changes invalidate', prompt) self.assertNotIn('still prefer to post it', prompt) - self.assertIn("REVIEW_MODEL: ${{ inputs.review_model || 'gpt-5.6-terra' }}", text) - self.assertIn("CODEX_VERSION: ${{ inputs.codex_version || '0.149.0' }}", text) + self.assertIn("REVIEW_MODEL: ${{ inputs.review_model || 'gpt-6-astra' }}", text) + self.assertIn("CODEX_VERSION: ${{ inputs.codex_version || '0.163.0' }}", text) if __name__ == '__main__':