Skip to content

Close v0.11.0 review findings: Plan continuation and output-limit ordering #237

Closed

Description

@kikashy

The independent whole-release review of PR #236 at 5388d096196b87a9fbb4fdff91cb0b6adfcd5741 identified two MEDIUM findings. This is the single correction-batch tracker required by the repository review policy. It tracks repairs to existing v0.11.0 contracts, not additional feature scope.

R1: current checkpoint Plan decisions before bootstrap

go/context/plan_preparation.go rejects valid checkpoint-3 records before applying a pending Plan decision. Simply allowing version 3 is insufficient: task schedules, held claims, child evidence, original native allowance and event versions must survive the decision and restart.

The real native in-provider Plan pause also leaves its original provider outcome unknown. The correction must retain that audit record and require exact original invocation release and durable pending-Plan/decision evidence before permitting a distinct subsequent invocation. Approval or a checkpoint marker alone must not authorize replay or new allowance. A completed-provider/out-of-provider Plan fixture is only a control, not proof of the actual native pause path.

Existing scope: #219, interacting with #183 and checkpoint-3 features.

R2: invalid output limit before classifier dispatch

go/adapter/eino/run.go resolves the optional route classifier before validating RequestOutputCeiling. Both a negative value and a value above the resolved reserve dispatch one classifier request before the named configuration refusal.

Validate the limit before physical generation while preserving valid one-token limits, fallback encoding, classifier bounds and normal routing.

Existing scope: #199 and #172.

Acceptance

  • Actual model and native checkpoint-3 Plan accept/reject preserve exact state, task claims and original bounds through a fresh writer and subsequent adapter.
  • Real native callback → Plan pause → exact release → restart → explicit decision → distinct invocation passes through the basic RunStore contract, without requiring optional HistoryRunStore.
  • Missing, stale, wrong, duplicate, malformed or uncertain release/decision evidence remains closed; unrelated unknown operations remain blocked and normal allowance is consumed.
  • Invalid output limits produce the named refusal with zero physical classifier/model calls; restoring the old order fails the intended assertion.
  • Paired schemas/readers and focused positive/refusal/safeguard-removal checks pass. Published historical record formats remain frozen.
  • Grouped exact-head CI passes and the original independent reviewer confirms the findings closed before merge.

The same fix round also corrects LOW report-2 feedback wording and finalizes the reviewed design-only ADR-0025 acceptance status. The original complete-release review and finding dispositions remain part of PR #236's review record; this tracker does not replace them. The review is explicitly same-vendor OpenAI/Codex under the approved exception.

Activity

  1. added this to the v0.11.0 milestone on Oct 27, 2026
  2. kikashy commented on Oct 28, 2026

    @kikashy
    ContributorAuthor

    Released in v0.11.0 at eba2ad6051c482e07e0b677545c5cb356a70549c. Final acceptance, independent review, check evidence and retained limits. Independent review confirmed R1–R4 closed; final main CI, race, mutation and published-artifact gates passed.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions