Skip to content

fix(operator): bound consecutive turns without executable decisions - #226

Draft
vieneny wants to merge 1 commit into
google:mainfrom
vieneny:codex/operator-no-action-guard
Draft

vieneny wants to merge 1 commit into
google:mainfrom
vieneny:codex/operator-no-action-guard

Conversation

@vieneny

@vieneny vieneny commented Oct 29, 2026

Copy link
Copy Markdown

Operator turns that return no tool calls, or consume the tool budget with helper work, can repeat without producing an executable decision. Add pro.execution.max_no_action_turns (default 4, range 1–20) to bound consecutive turns without an action or a completed plan. Ordinary assistant replies are preserved in the transcript so their feedback is available when the run stops.

The counter resets after an executable action or completion of the plan. Continuous plans require a user stop to take the completion exemption. Reaching the limit raises OperatorNoActionLimitError with the fixed reason operator_no_action_limit.

Validation:

  • 134 related Operator, plan, and configuration tests passed.
  • Repository Ruff format/check, quality ratchet, and protected-core Pyright passed.
  • The broader deterministic pytest run reached roughly 84% before its 150-second time limit, with four failure markers and no final summary. All four failures were reproduced on the unchanged upstream baseline (351ca842): readiness cache refresh, Windows platform paths, and the two CLI restart tests. Full-suite validation remains incomplete; this PR is a draft.

No device or external model calls were used for this validation.

@google-cla

google-cla Bot commented Oct 29, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant