Suppress Codex rate-limit model-switch prompts in ward containers #1544

Closed
opened 2026-07-24 20:53:05 +00:00 by coilyco-ops · 2 comments
Member

Context

A detached Codex engineer launch appeared stalled around a usage-limit prompt before eventually continuing. Warded Codex runs are headless, so they must not rely on a human to dismiss the optional rate-limit model-switch reminder.

Codex officially supports the user-level config key notice.hide_rate_limit_model_nudge = true, described as opting out of that reminder: https://developers.openai.com/codex/config-reference#configtoml

This belongs in ward container composition, not host ansible, because ward writes a fresh ~/.codex/config.toml for each Codex engineer and director container.

Scope

  • Add notice.hide_rate_limit_model_nudge = true to the config produced by internal/agents/codex/config.go.
  • Add regression coverage for the composed Codex config, including the read-only director surface path if existing coverage does not already exercise the same composer.
  • Update docs/agent-codex.md and docs/FEATURES.md to record that headless Codex launches suppress the optional model-switch nudge.
  • Keep genuine rate-limit or quota failures visible and failing normally. This change suppresses only the interactive reminder.

Acceptance criteria

  • Every ward-composed Codex config.toml contains notice.hide_rate_limit_model_nudge = true.
  • Engineer and director Codex surfaces require no human response to the reminder.
  • Other harness configuration is unchanged.
  • Relevant unit tests and the repository validation verbs pass.
  • The commit closes this issue and leaves a clean tree.
## Context A detached Codex engineer launch appeared stalled around a usage-limit prompt before eventually continuing. Warded Codex runs are headless, so they must not rely on a human to dismiss the optional rate-limit model-switch reminder. Codex officially supports the user-level config key `notice.hide_rate_limit_model_nudge = true`, described as opting out of that reminder: https://developers.openai.com/codex/config-reference#configtoml This belongs in ward container composition, not host ansible, because ward writes a fresh `~/.codex/config.toml` for each Codex engineer and director container. ## Scope - Add `notice.hide_rate_limit_model_nudge = true` to the config produced by `internal/agents/codex/config.go`. - Add regression coverage for the composed Codex config, including the read-only director surface path if existing coverage does not already exercise the same composer. - Update `docs/agent-codex.md` and `docs/FEATURES.md` to record that headless Codex launches suppress the optional model-switch nudge. - Keep genuine rate-limit or quota failures visible and failing normally. This change suppresses only the interactive reminder. ## Acceptance criteria - Every ward-composed Codex `config.toml` contains `notice.hide_rate_limit_model_nudge = true`. - Engineer and director Codex surfaces require no human response to the reminder. - Other harness configuration is unchanged. - Relevant unit tests and the repository validation verbs pass. - The commit closes this issue and leaves a clean tree.
Author
Member

WARD-WORKFLOW: #1547

details

Review: intentionally skipped because the temporary ward default is pending brokered QA.

workflow: pull-request-and-merge; review summary: intentionally skipped because the temporary ward default is pending brokered QA

Felt: narrowly scoped and straightforward; the existing read-only composition regression made the director coverage direct.

Confidence: high.

Surprises: the feature inventory and source-comment budgets required a compact wording adjustment.

Follow-ups: none.

WARD-WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1547 <details><summary>details</summary> Review: intentionally skipped because the temporary ward default is pending brokered QA. workflow: pull-request-and-merge; review summary: intentionally skipped because the temporary ward default is pending brokered QA Felt: narrowly scoped and straightforward; the existing read-only composition regression made the director coverage direct. Confidence: high. Surprises: the feature inventory and source-comment budgets required a compact wording adjustment. Follow-ups: none. </details>
Author
Member

WARD-WORKFLOW: reservation-released

release details

Run finished with WARD-WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1547.

ward container reap released container engineer-codex-ward-1544 (--harness codex): the terminal outcome supersedes the reservation, so a later redispatch no longer needs --override-reservation.

Outcome summary: #1547

— Codex, via ward agent

<!-- ward-agent-reservation-released --> WARD-WORKFLOW: reservation-released <details><summary>release details</summary> Run finished with `WARD-WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1547`. `ward container reap` released container `engineer-codex-ward-1544` (`--harness codex`): the terminal outcome supersedes the reservation, so a later redispatch no longer needs `--override-reservation`. **Outcome summary:** https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1547 </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/ward#1544
No description provided.