v1.84.1.0 fix: default Codex and Claude to frontier models (#2835)

* fix: default cross-model workflows to frontier models

* chore: bump version and changelog (v1.82.1.0)

Co-Authored-By: OpenAI Codex <noreply@openai.com>

* fix: repair frontier eval budgets and workflow instructions

Preserve frontier models and quality thresholds while fixing truncated judge output, ordered section expansion, consent checks, QA scoring, and ship audit gates. Add regression coverage and refresh generated docs.

Co-Authored-By: OpenAI Codex <noreply@openai.com>

* fix: resolve workflow gaps exposed by frontier evals

Clarify plan-review ordering and fallback modes, preserve deploy readiness gates, honor configured merge methods, correct benchmark and canary contracts, and restore vendored installs on setup failure. Cover recovery with real-shell regressions.

Co-Authored-By: OpenAI Codex <noreply@openai.com>

* fix: use agent capture budgets for deploy evals

Multi-turn deploy and benchmark sessions were incorrectly limited to the single-call judge timeout. Use the existing capture tier and leave outer-test cleanup headroom, with a free policy regression test. Keep all behavioral assertions and frontier models unchanged.

Co-Authored-By: OpenAI Codex <noreply@openai.com>

* fix: clarify retro workflow and evaluate compare instructions

Include compare mode in the frontier judge excerpt, define metric sources and snapshot ordering, and preserve the existing prompt-size budget.

Co-authored-by: OpenAI Codex <noreply@openai.com>

* fix: make documentation release review and publication consistent

Review before commit, clarify changelog safeguards and unavailable reviewer modes, and preserve raw PR bodies across separate shell calls. Keep title sync in one shell and add regression coverage.

Co-authored-by: OpenAI Codex <noreply@openai.com>

---------

Co-authored-by: OpenAI Codex <noreply@openai.com>
This commit is contained in:
Garry Tan
2026-09-09 08:57:21 -07:00
committed by GitHub
co-authored by OpenAI Codex
parent c8f0c4e368
commit 71f6048e8a
141 changed files with 2678 additions and 1750 deletions
+4 -3
View File
@@ -30,6 +30,7 @@ import * as fs from 'fs';
import * as path from 'path';
import * as os from 'os';
import { runSkillTest } from './helpers/session-runner';
import { asideDriveOptions } from './helpers/third-party-actions';
import {
ROOT, describeIfSelected, testIfSelected, createEvalCollector,
finalizeEvalCollector, recordE2E, runId, logCost,
@@ -173,7 +174,7 @@ describeIfSelected('third-party-actions consent gate', TPA_TESTS, () => {
expect(result.exitReason).toBe('success');
const text = assistantText(result.transcript);
expect(text).not.toMatch(/download it at aside\.com/i); // no pitch off-macOS (narration that mentions the domain is fine)
expect(text).not.toMatch(/in your Aside browser/i); // no phantom Aside drive offer
expect(asideDriveOptions(text)).toEqual([]); // no phantom Aside drive offer
// Still a lettered consent question. The contract fixes letters only in
// the detected case; here agents legitimately either re-letter from A or
// keep the contract's B/C/D lettering with A dropped (observed live).
@@ -199,7 +200,7 @@ describeIfSelected('third-party-actions consent gate', TPA_TESTS, () => {
recordE2E(evalCollector, 'tpa-broken', 'e2e-third-party-actions', result);
expect(result.exitReason).toBe('success');
const text = assistantText(result.transcript);
expect(text).not.toMatch(/in your Aside browser/i); // load-bearing negative
expect(asideDriveOptions(text)).toEqual([]); // rejects conditional offers too
// Either outcome the contract permits in one-shot `claude -p`: the
// "open the Aside app" ask (agent stops at the re-probe), or the lettered
// gstack drive / manual / defer question (any letter — agents keep the
@@ -230,7 +231,7 @@ describeIfSelected('third-party-actions consent gate', TPA_TESTS, () => {
// pinned in prose by test/third-party-actions.test.ts.
expect(text).toMatch(/download it at aside\.com/i);
expect(text).toContain('macOS 15');
expect(text).not.toMatch(/in your Aside browser/i); // pitch, not a drive offer
expect(asideDriveOptions(text)).toEqual([]); // narration is not a drive offer
} finally { cleanup(); }
}, 6 * 60_000);