Skip to content

fix: require working plans for complex native turns - #317

Draft
EvanProgramming wants to merge 3 commits into
Evan/v3-release-evidencefrom
Evan/v3-native-plan-guard
Draft

EvanProgramming wants to merge 3 commits into
Evan/v3-release-evidencefrom
Evan/v3-native-plan-guard

Conversation

@EvanProgramming

@EvanProgramming EvanProgramming commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Addresses R252 in #268; stacked on PR #312. The full release gate remains open until the candidate-bound evidence is complete.

A complex native-provider turn could call tools without a Working Plan because the existing plan enforcement only ran in the legacy response path. The native engine now offers only the permitted typed update_plan tool until an active plan exists, rejects mixed plan/tool batches, bounds retries for planless final responses, and reports an incomplete turn when planning is unavailable or unsuccessful. A plan completed during the turn permits a final response or a new plan before further work. Existing capability and Strategic Plan checks remain in force. Compact mode continues to expose permitted plan updates after initial planning and honors permission revocation. This uses the existing typed plan boundary rather than parsing provider text or silently creating a generic plan, preserving model-proposed strategy and scope validation.

This intentionally changes complex native direct turns: tools are unavailable until planning succeeds. Simple and medium turns and delegated child turns retain their existing behavior. No dependency or public API was added. Protocol errors now remain incomplete even when an older completed plan exists, while explicitly blocked plans remain blocked.

Validation so far: 252 focused native-engine, planning, receipt, and approval tests passed; make check, make lint, and make docs-check passed. Regression tests cover planless tool calls, mixed batches, denied or failed planning, bounded refusal, successful plan-first execution with a structured provider, completion after a plan, and protocol failure status. Go tests/build, installed wheel/sdist smoke, and agent, subagent, and TUI workflow acceptance passed locally. The current candidate passed the full Python suite: 1,172 tests run, with two Linux Bubblewrap tests skipped on macOS. Compact-mode revision and permission-revocation regressions are included. A prior run failed because the disposable environment lacked pip; pip was installed before this successful retry. Exact-candidate CI and six-platform soaks failed in the Windows Python 3.13 subagent workflow acceptance: one reviewer returned a malformed report. Ten local repetitions passed; the cause is not yet confirmed. The remaining platform jobs are still running.

Risk: restrictive tool permissions can prevent complex work from starting; the turn now reports this explicitly. A prior Windows cancellation timeout did not recur on the previous candidate, and a separate Windows reviewer failure is under investigation; neither cause is confirmed. A new candidate invalidates all previous candidate-bound release evidence; do not publish until the new records and scoped waivers validate.

Stacked CI test fix

PR #318 replaces a fragile provider-deadline timing assertion with event-synchronized checks. Its candidate-bound CI supersedes the earlier failed run for release evidence. The Windows reviewer failure in that earlier run remains unexplained.

@ghfind-review ghfind-review Bot added the review: high ghfind author score; see https://ghfind.com label Oct 31, 2026
@coderabbitai

coderabbitai Bot commented Oct 31, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@ghfind-review ghfind-review Bot added area: mcp MCP discovery, capabilities, calls, and protocol behavior area: tasks Task planning, execution, recovery, and evidence bug Something isn't working labels Oct 31, 2026

This branch has not been deployed

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

Labels

area: mcp MCP discovery, capabilities, calls, and protocol behavior area: tasks Task planning, execution, recovery, and evidence bug Something isn't working review: high ghfind author score; see https://ghfind.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant