Add emoji to feature bullets, update tagline, add human-in-the-loop
feature, highlight traceability in git checkpointing, remove system
requirements section, and link to new CONTRIBUTING.md instead of
CLAUDE.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace feature tables with a focused bulleted list highlighting
deterministic graphs, human-in-the-loop, multi-model routing, cloud
sandboxes, SSH/preview, git checkpointing, retros, API, single binary,
and open source. Merge the stylesheet example into the workflow example
for one cohesive story. Remove TOC, node types table, supported models
section, and outdated access warning.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pre-built binaries for macOS ARM and Linux x86_64 are now the
primary install method. Build-from-source moved to a details block.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Swap LLM providers and GitHub App steps so LLM setup comes first
- List specific providers with connectivity issues in arc doctor warnings
- Style the GitHub App callback page with a centered card and checkmark
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds a temporary local HTTP server in `arc install` that handles the
GitHub App manifest registration flow, enabling standalone users to
register a GitHub App without running the arc-web server.
Also gates server-only install steps (pre-flight checks, server.toml,
secrets/certs, start servers) behind #[cfg(feature = "server")] and
removes the `gh` CLI from system dependency checks. Reloads .env before
running arc doctor so it picks up freshly written credentials.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Self-hosted runner lacks credentials for HTTPS checkout.
Switch both compile (Linux) and release jobs to ubuntu-latest.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Live service probes now run by default instead of requiring --live.
Added --dry-run flag to skip probes when needed. Install command now
runs doctor with live probes to validate setup.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove rust-toolchain/rust-cache setup (pre-installed on self-hosted),
disable checkout clean, enable sccache and incremental compilation.
Split macOS tests into a separate job that only runs on workflow_dispatch
since release.yml already gates on macOS tests.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extend conclusion.json with per-stage operational data (cost, duration,
retries) so the Arc Details section of PR descriptions no longer depends
on retro.json. The retro section remains optional and only appears when
the retro agent runs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add release.yml: tag-triggered (v*) workflow that cross-compiles
for aarch64-apple-darwin and x86_64-unknown-linux-gnu, packages
archives with SHA256 checksums, and creates a GitHub Release
- Add workflow_dispatch, concurrency groups, and cache-on-failure
to rust.yml and typescript.yml
- Run clippy and test on both ubuntu-latest and macos-15
- Add release profile with thin LTO and strip to Cargo.toml
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Project-level arc.toml can now set [pull_request] with enabled/draft
fields, slotting between cli.toml defaults and workflow.toml overrides.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add app_id(), slug(), and git_author() methods to CliConfig to
replace repeated .git.as_ref().and_then(...) chains across 5 call
sites in main.rs and doctor.rs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move GitHub App credentials (app_id, slug) and run defaults (llm,
sandbox, pull_request) into cli.toml so standalone commands (run, pr
create, llm) no longer require server.toml. The server.toml loading is
now limited to `arc serve` and server-mode doctor checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The one-time environment setup command (LLMs, certs, GitHub) is now
`arc install`, freeing up naming space for a future `arc init` command
for per-project initialization.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Surfaces existing final.patch and per-node diff.patch files via CLI.
Supports live diffs from in-progress runs by reconnecting to the sandbox.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ubuntu-latest-16-cores requires a GitHub Team/Enterprise org plan and
was causing all jobs to stay queued indefinitely.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When no explicit provider is set on a request, resolve_provider now
consults the model catalog (e.g. gpt-5.4 → openai) before falling back
to the client's default provider. This fixes PR description generation
sending cross-provider model IDs to the wrong provider.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Standalone subcommand that creates SSH credentials for a run's Daytona
sandbox and connects directly (or prints the command with --print).
Also parameterizes create_ssh_access TTL instead of hardcoding 60 min.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In verbose mode, completed tool call bars accumulated in indicatif's
MultiProgress without limit. After ~80+ bars exceeded the terminal
height, indicatif's cursor repositioning broke and all rendering stopped.
Now in verbose mode, completed tool calls are printed as permanent output
via multi.println() and their bars are removed from MultiProgress. Only
running tool calls remain as live bars with spinner + elapsed time. This
keeps MultiProgress small regardless of how many tool calls execute.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Provides CLI access to preview URLs for ports exposed by Daytona sandboxes.
Supports standard (URL + token + curl), signed (self-contained URL), and
--open (browser launch) modes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove --fail-with-body from curl so the response body (including error
JSON) is always captured. Previously, set -e killed the script at the
curl line on non-2xx responses before the error-checking code could run,
leaving the agent with an opaque exit code 22 and no actionable message.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace Gemini API with OpenAI /v1/images/generations endpoint in the
imagegen script. Remove unsupported response_format parameter (gpt-image-1
returns b64_json by default). Add standalone imagegen-openai workflow for
testing image generation independently.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Per-run data now lives in ~/.arc/runs/ while daily CLI log files
stay in ~/.arc/logs/. Renames: logs_root → run_dir (RunConfig field,
Handler trait param, all handlers), logs_dir → run_dir (CLI arg,
local variables), default_logs_base → default_runs_base (path fn).
Adds DB migration 002 to rename workflow_runs.logs_dir → run_dir.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds a switchable tracing layer that writes to ~/.arc/logs/{run-dir}/cli.log,
so all diagnostic info for a run is co-located with its other artifacts instead
of buried in the shared daily log file.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Playwright MCP server provides a browser_install tool, so we can
drop the separate command node and let the agent install the browser
via MCP instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Display collected assets in an "=== Assets ===" section after the run
result, so users can see which files were captured without digging
through the logs directory.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>