{{ theme.skipToContentLabel || 'Skip to content' }}

Release Candidate Acceptance Guide

This guide validates the CLI/TUI, headless CLI, TypeScript SDK, Python SDK, and artifacts from one candidate commit. Automated tests, real terminals, and a live provider are independent evidence and cannot substitute for one another.

0.3.0 completed final acceptance with this guide and was published from commit dc6e45489b06f3c28da1934f063fbfbc671c05ef. The guide remains applicable to later candidates and does not imply that a later version has passed automatically.

简体中文

Automated matrix

Run at the candidate repository root:

powershell
npm run acceptance:rc

The command runs the full Node suite, Python SDK/real Worker tests, synchronized-version preflight, and all eight npm packages through content checks, publint, type resolution, and clean-project installation, plus wheel content and clean-install checks. P01-P19 are also bound to explicit test files and test titles. A missing evidence anchor fails the RC even when the broad test suite exits successfully.

Run npm run baseline:check before the RC matrix. It rebuilds every public package before comparing the frozen type contracts; stale dist output is not accepted as evidence that source contracts are unchanged.

CaseAcceptance targetEntry paths
P01Plain response and complete terminal outcomeTUI, headless CLI, both SDKs
P02Consecutive tool-result feedbackTUI, headless CLI, both SDKs
P03Denial with zero side effects in the batch and later workflow stepsTUI, headless CLI, both SDKs
P04Partial success cannot hide a denialTUI, headless CLI, both SDKs
P05Path escape fails closedHeadless CLI, both SDKs
P06Network denial cannot be bypassedHeadless CLI, both SDKs
P07Complete approval target and risk displayTUI, headless CLI
P08Consistent abort and timeout outcomesTUI, headless CLI, both SDKs
P09Checkpoint conflicts preserve user editsTUI, headless CLI, both SDKs
P10Stable Session and RunState recoveryTUI, headless CLI, both SDKs
P11Exhausted retry cannot return successTUI, headless CLI, both SDKs
P12Bounded verify-repair-verify convergenceTUI, headless CLI, both SDKs
P13No-progress threshold stops executionHeadless CLI, both SDKs
P14Minimal TypeScript defect repairHeadless CLI, TypeScript SDK
P15Minimal Python defect repairHeadless CLI, Python SDK
P16Existing dirty-worktree content is preservedHeadless CLI, both SDKs
P17Credentials, bodies, and command secrets stay out of Trace/RunStateTUI, headless CLI, both SDKs
P18npm tarball contents and entriesArtifacts
P19Python wheel contents and WorkerArtifacts
P20Real Windows and Linux pseudoterminalsTUI

P20 real pseudoterminal

Each release candidate must start the real CLI/TUI process inside an operating-system PTY or ConPTY on Windows and Linux and send actual keyboard input to that process. Ordinary CI logs, component render snapshots, piped stdin, and another platform's result are not substitutes. Run:

powershell
npm run acceptance:tty

CI executes this command on both target platforms and uploads version- and commit-bound evidence artifacts. The release workflow downloads and validates both artifacts. If the script cannot start the platform pseudoterminal, terminal rendering is abnormal, or users report a real-experience discrepancy, fall back to manual terminal acceptance instead of skipping P20.

Each platform must confirm launch, help, approval-deny, approval-allow, abort, session-resume, checkpoint-diff-restore, streaming, status, and exit. For approval-deny, deny the first write request and confirm that the same run opens no further approval, creates no file, and returns paused. The P03 automated anchor separately proves that a sequential workflow saves no output for the denied step and starts no later step. The script generates evidence from the Windows template or Linux template under .scratch/rc-evidence/. Version and commit must match the candidate, evidenceLevel must be automated-real-tty, and every check must be true. .scratch stays outside Git to avoid a commit-SHA self-reference. Archive both JSON files with the workflow run identifier, without business content or secrets.

The existing Windows TUI maintainer acceptance guide records historical manual experience evidence for 0.3.0-rc.2. 0.3.0 received a separate final maintainer acceptance run against the exact candidate artifact; later candidates still require independent acceptance. Historical manual results and the automated evidence in this section cannot substitute for one another.

Then run:

powershell
npm run acceptance:rc -- --require-manual

An identity mismatch, missing check, malformed file, or either absent platform fails the command.

Live provider

P01-P20 do not replace the live-provider release recheck. With approved data and a local environment variable, run:

powershell
npm run providers:certify

Certification covers seven checks: streaming, tool calls, structured results, multi-turn state, abort, error mapping, and long context. Stop when the account lacks service entitlement, permissions, a valid credential, or a successful live request. Never switch models or providers silently, and do not present historical evidence as a current recheck.

Completion

The RC is complete only when P01-P19 and their evidence anchors pass, both P20 files bind to the same version and commit, at least one provider passes the current live recheck, both platform gates pass, and the final repository-wide Markdown audit passes. Tagging and publishing still follow the Release SOP.

{{ theme.lastUpdated?.text || theme.lastUpdatedText || 'Last updated' }}:

Released under the MIT License.