Skip to content

Integrate reviewed CLI changes for the 1.0.0 preparation period - #716

Merged
igorcosta merged 53 commits into
mainfrom
cli-1.0-preparation
Oct 29, 2026
Merged

igorcosta merged 53 commits into
mainfrom
cli-1.0-preparation

Conversation

@igorcosta

@igorcosta igorcosta commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Integrate the 13 reviewed non-draft CLI PRs and the validated team recovery and Git Bash improvements before the planned 1.0.0 preparation period. Keep drafts #669, #689, and #690 pending.

PR Change
#714 Enforce accepted-plan permissions and update model and quota guidance.
#711 Allow Team and Enterprise Cloud CLI sessions.
#710 Correct OpenAI context windows.
#708 Handle locked Chrome profiles and show search allowances.
#703 Include the CLI commercial licence in npm packages.
#702 Preserve worktree changes and clean up safe sessions.
#699 Import Claude permissions with workspace trust boundaries.
#693 Keep installation successful when optional Computer control is unavailable.
#686 Import Claude MCP servers with private local credentials.
#684 Document providers and the Node.js requirement.
#680 Gate project tools on workspace trust and add attribution metadata.
#678 Describe Gemini Argon Team availability.
#676 Save custom providers when their model is absent from discovery.

Integration corrections preserve explicitly created project tools without loading other untrusted files, combine Claude permission and MCP discovery, reject symlinked credential destinations, write private settings atomically, and complete Cloud environment selection in terminal fixtures. Queue tests now check content and composer placement in the same captured frame, with deterministic coverage for interrupted redraws and persistent displacement.

Validation on 79a26ef: the complete bun run proof passed lint, type checking, build, 12,932 unit tests, and 442 terminal tests. All 12 CI jobs passed, including three OS builds, Windows Git Bash/CMD/PowerShell execution, and three native Windows team recovery scenarios. The installer compatibility matrix passed after one macOS alpha release-lookup retry. Team recovery assertions explicitly cover plain and truecolor output.

Local focused validation also passed 58 provider cases, three complete queued-steering runs (21 cases), and seven modal/peer cases. A final local aggregate run was stopped when disk exhaustion caused ENOSPC failures; the complete proof above ran on a fresh GitHub runner.

Release and model-catalog publication workflows are paused. This PR does not authorize a release, version bump, or package publication.

cestercian and others added 30 commits October 15, 2026 18:20
The New provider flow refused to save an OpenAI-compatible provider whose
model was missing from /models. Routers such as Routes accept policy names
like router-balanced that they don't list there, so the provider could only be
added by editing config.json by hand.

A missing model is now a warning: the CLI shows the listed models and asks
whether to save anyway (default no). A non-OK /models response or a network
error still blocks the save.

Fixes #659
Team gained Argon on 2026-10-18 (Q-0008); the /model description now
names every plan that can call it.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Commander delivers --sync-settings false as the string "false", which is
truthy, so the flag could never turn sync off.
…er tools

.autohand/tools loaded for any checkout and took precedence over the user's
own tools and built-in tool names. Project definitions now load only in a
trusted workspace, user tools win on a name clash, and built-in names are
reserved; each skipped definition is reported in diagnostics.
Requests carried HTTP-Referer https://autohand.dev and no X-Title, so
OpenRouter's app rankings could not credit Autohand Code.
A workspace whose only executable content is .autohand/tools never
prompted for trust, so its tools could never be enabled. Tool files now
form part of the trust fingerprint: the prompt appears for them, and
editing a tool file invalidates trust like editing a hook does.
OpenRouter now reads X-OpenRouter-Title for the app name (X-Title is the
older alias) and X-OpenRouter-Categories for its marketplace; cli-agent
is a recognised category. Keep HTTP-Referer https://autohand.ai, which
creates the app entry.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
The table showed 10 of the providers the CLI ships with. Adds Anthropic,
Azure OpenAI, Vertex AI, xAI, Cerebras, NVIDIA and Sakana AI.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
The package needs Node.js 22 or later (engines). Bun is only needed to
build from source.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Signed-off-by: Sagnik Das <sagnikdas5432@gmail.com>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Signed-off-by: Sagnik Das <sagnikdas5432@gmail.com>
…ude-permissions-20261023

# Conflicts:
#	CHANGELOG.md
Correct the existing terminal assertion to match the CLI definition. This prerequisite was reproduced on the unchanged baseline while validating F-0199.
Keep edited, untracked and uniquely committed work by default. Route explicit discard requests through deletion permissions and deny them in restricted clients. Remove clean session worktrees after shutdown, retain recovery paths for preserved work, and cover real Git and built terminal lifecycles.
Fall back through the connected Chrome bridge and verified account search before returning one clear locked-profile error. Keep hosted search available at the daily cap, preserve its upgrade/reset sentence, print it once per session and show remaining UTC-day allowance in the provider menu. Cover the lock paths, cap handling and the built terminal.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Name web searches in the UTC allowance line and explain both options when Chrome holds the profile lock. Keep cap fixtures aligned with the server notice and verify the exact allowance in the built terminal.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
igorcosta and others added 22 commits October 28, 2026 19:39
Report terminal task outcomes without keeping the busy animation alive, and
provide inspection, confirmed retries, worker shutdown, and separate hide
controls. Display the configured team shortcut in the panel and help.

Route Git Bash installations through the native Windows installer. Use a
shared shell executable and dialect for command tools, live output, model
context, and diagnostics, preserving CMD quoting and resource coordination.
Add real-terminal recovery coverage and dedicated Windows compatibility jobs.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
…ion for 1.0 preparation

Merge reviewed CLI PRs #710, #703, #684, and #678 without publishing a release.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>

# Conflicts:
#	src/core/agent/AgentCommandRuntime.ts
#	tests/ui/ink/AutohandBrand.test.tsx
#	tests/windowsInstaller.spec.ts
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>

# Conflicts:
#	src/providers/models.json
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>

# Conflicts:
#	CHANGELOG.md
#	tests/computerInstallIntegration.test.ts
#	tests/installAliases.integration.spec.ts
#	tests/windowsInstaller.spec.ts
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>

# Conflicts:
#	tests/tuistory/program-status.tuistory.test.ts
Keep explicitly created project tools usable without loading untrusted files,
and replace developer-specific trust fixtures with portable temporary paths.
Correct the integration of workspace trust from PR #680.

Combine Claude permission and MCP discovery, reject symlinked project settings,
and write imported credentials atomically with private file permissions.
Cover the import boundaries and saved connector settings through real files
and the built CLI for PRs #686 and #699.

Complete the Cloud environment choice through a shared terminal scenario for
PR #711, while preserving the verified modal keyboard readiness checks.

Check queue content and composer placement in the same captured terminal frame.
Reproduce interrupted redraws and permanent displacement without relaxing
steering action deadlines or the required composer position.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
@igorcosta igorcosta added the full-proof Run the complete lint, unit, build, and terminal proof on GitHub label Oct 28, 2026
Exercise the selected retry flow with plain and truecolor themes, and strip terminal control sequences before comparing the visible task row. Reproduce the Windows CI failure without changing runtime rendering or recovery behavior.

Co-authored-by: Autohand Evolve <code-noreply@autohand.ai>
@igorcosta
igorcosta merged commit 79a26ef into main Oct 29, 2026
32 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full-proof Run the complete lint, unit, build, and terminal proof on GitHub

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants