Skip to content

Add per-turn Cyber access program selection to exec and the SDK - #49939

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/586f25b621924f3bc509c9a39b39fe2020ff9cd2
Oct 1, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/586f25b621924f3bc509c9a39b39fe2020ff9cd2

Conversation

@copyberry

@copyberry copyberry Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Add per-turn Cyber access program selection to exec and the SDK

Why

codex exec and the TypeScript SDK need a way to request a Cyber access program for an individual turn. Resuming with an API key can also leave compaction using a saved program that the current credentials cannot access.

What changed

  • Add --cyber-access-program with standard, daybreak_blue, and daybreak_red, and expose the equivalent cyberAccessProgram turn option and CyberAccessProgram type in the TypeScript SDK.
  • Apply explicit selections to new, resumed, and prompted fork turns. Override automatic Daybreak selection for that turn without changing the saved choice. Reject the flag for review and forks without a prompt.
  • Filter Cyber programs by the built-in OpenAI provider when starting turns and restoring previous-turn settings for compaction.
  • Allow previous-model compaction fallback with API-key authentication, comparing both model and program so a program change can trigger a retry with the current pair even when the model is unchanged.

Testing

Add CLI help, argument parsing, exec, and SDK coverage for per-turn selection and unsupported commands. Extend core tests for API-key compaction retries, denied explicit selections, custom-provider filtering, remote compaction, and WebSocket response reuse.

## Why

`codex exec` and the TypeScript SDK need a way to request a Cyber access program for an individual turn. Resuming with an API key can also leave compaction using a saved program that the current credentials cannot access.

## What changed

- Add `--cyber-access-program` with `standard`, `daybreak_blue`, and `daybreak_red`, and expose the equivalent `cyberAccessProgram` turn option and `CyberAccessProgram` type in the TypeScript SDK.
- Apply explicit selections to new, resumed, and prompted fork turns. Override automatic Daybreak selection for that turn without changing the saved choice. Reject the flag for review and forks without a prompt.
- Filter Cyber programs by the built-in OpenAI provider when starting turns and restoring previous-turn settings for compaction.
- Allow previous-model compaction fallback with API-key authentication, comparing both model and program so a program change can trigger a retry with the current pair even when the model is unchanged.

## Testing

Add CLI help, argument parsing, exec, and SDK coverage for per-turn selection and unsupported commands. Extend core tests for API-key compaction retries, denied explicit selections, custom-provider filtering, remote compaction, and WebSocket response reuse.

GitOrigin-RevId: 586f25b621924f3bc509c9a39b39fe2020ff9cd2
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/586f25b621924f3bc509c9a39b39fe2020ff9cd2 branch from b66920d to 6b4daaf Compare October 1, 2026 08:58
@copyberry
copyberry Bot merged commit 6b4daaf into main Oct 1, 2026
1 check passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/586f25b621924f3bc509c9a39b39fe2020ff9cd2 branch October 1, 2026 08:58
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 1, 2026
@misosiruda
misosiruda deployed to issue-triage October 1, 2026 08:58 — with GitHub Actions Active
@misosiruda
misosiruda deployed to issue-triage October 1, 2026 08:58 — with GitHub Actions Active
@misosiruda
misosiruda deployed to issue-triage October 1, 2026 08:58 — with GitHub Actions Active
@misosiruda
misosiruda deployed to issue-triage October 1, 2026 09:00 — with GitHub Actions Active
@JCL2
JCL2 deployed to issue-triage October 1, 2026 09:44 — with GitHub Actions Active
@JCL2
JCL2 deployed to issue-triage October 1, 2026 09:44 — with GitHub Actions Active
@JCL2
JCL2 deployed to issue-triage October 1, 2026 09:44 — with GitHub Actions Active
@DocuMindPro
DocuMindPro deployed to issue-triage October 1, 2026 09:47 — with GitHub Actions Active
@DocuMindPro
DocuMindPro deployed to issue-triage October 1, 2026 09:47 — with GitHub Actions Active
@DocuMindPro
DocuMindPro deployed to issue-triage October 1, 2026 09:47 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants