Commit graph

190 commits

Author SHA1 Message Date
Bryan Helmkamp
7ad187a78f Add signoff resource to verification system
Signoffs are stamps of approval for (control, repository, commit SHA)
tuples, enabling external tools and humans to mark a control as
pass/fail/pending for a specific commit. Adds OpenAPI spec, demo
handlers with 5 fixtures, route registration, and regenerated TS client.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-10 19:32:33 -04:00
Bryan Helmkamp
0d9b300aaf Remove --no-dotenv flag, always load ~/.arc/.env, never load ./.env
The local .env loading was unnecessary since arc install writes all
config to ~/.arc/.env. Simplifies dotenv behavior to unconditionally
load from the home directory only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-10 19:26:43 -04:00
Bryan Helmkamp
d80335e0fc Add 2026-03-10 changelog and update docs for new CLI commands
Changelog: MCP servers in workflows, arc init, arc diff.
Docs: arc init, arc diff, arc ssh, arc preview, arc doctor --dry-run,
cli.log per-run tracing, pull_request precedence, SSH/preview pages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-10 14:25:42 -04:00
Bryan Helmkamp
44731e0926 Rename arc setup to arc install for clarity
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>
2026-03-10 12:56:53 -04:00
Bryan Helmkamp
1dcad0529a Split ~/.arc/logs/ into logs/ and runs/
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>
2026-03-10 09:40:03 -04:00
Bryan Helmkamp
2079677e50 Move standalone vs. server mode content to Note callout at top of quick start
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-10 08:13:46 -04:00
Bryan Helmkamp
ca124638ae Document MCP sandbox transport and workflow-level MCP configuration
- docs/agents/mcp.mdx: Remove pre-release warning. Add sandbox transport
  docs alongside stdio and HTTP. Restructure configuration section to
  cover both cli.toml and run config TOML. Replace filesystem example
  with Playwright browser automation example.
- docs/execution/run-configuration.mdx: Add [mcp_servers] section with
  field reference for all three transport types. Add to full example.
- docs/reference/cli-configuration.mdx: Add sandbox transport subsection.
  Cross-reference workflow-level MCP config.
- docs/integrations/daytona.mdx: Add MCP sandbox transport to feature table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 08:10:05 -04:00
Bryan Helmkamp
878eccb58e Add Status column and Sprites provider to environments docs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-10 08:09:52 -04:00
Bryan Helmkamp
fef76409e5 Update docs for arc cp, arc pr create, arc system df, worktree mode, and draft PR default
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 00:45:26 -04:00
Bryan Helmkamp
30eb9493d7 Promote arc cp, arc pr create, and arc system df to changelog heroes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 00:40:18 -04:00
Bryan Helmkamp
38ab017c69 Update 2026-03-09 changelog with project config, arc cp, and new CLI commands
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 00:38:44 -04:00
Bryan Helmkamp
281beb9528 Simplify quick start to standalone mode and add server deployment stub
Remove API server and web frontend instructions from quick start, replacing
them with a note about standalone vs. server mode. Add under-development
warning to API overview. Add server deployment stub page to Guides.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 00:29:47 -04:00
Bryan Helmkamp
a38f5f3995 Add under-development warnings to feature-flagged docs pages
Warn users that exe.dev and devcontainer features are under active
development and may require special build flags.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 00:20:07 -04:00
arc-1e68f1[bot]
61c7541fd5 Add Draft PR Mode Support (#13)
* arc(01KK9VW7TXZQQZPHBC08935H0C): toolchain (success)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 2
Arc-Checkpoint: 477c304d4b72cb390186195c5357c79d0c62a9bc

* arc(01KK9VW7TXZQQZPHBC08935H0C): preflight_compile (success)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 3
Arc-Checkpoint: 535652db567b6a31f1a9ae2f2aef8de306c5f447

* arc(01KK9VW7TXZQQZPHBC08935H0C): preflight_lint (success)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 4
Arc-Checkpoint: dae88bf9dd1765d3753691c73985b21d39841c5a

* arc(01KK9VW7TXZQQZPHBC08935H0C): implement (success)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 5
Arc-Checkpoint: a7d72489ba62fb15a971ff209d4713aa77892064

* arc(01KK9VW7TXZQQZPHBC08935H0C): simplify (success)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 6
Arc-Checkpoint: 1c1e8fa045e6d116a1dbdc83ac4677d693e0a4b2

* arc(01KK9VW7TXZQQZPHBC08935H0C): verify (fail)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 7
Arc-Checkpoint: deb4e29bc1e7b5a16a25c0b65733ba65d63875ba

* arc(01KK9VW7TXZQQZPHBC08935H0C): fixup (success)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 8
Arc-Checkpoint: bace62da4526e4c129766324b7263bf16ca58d57

* arc(01KK9VW7TXZQQZPHBC08935H0C): verify (success)

Arc-Run: 01KK9VW7TXZQQZPHBC08935H0C
Arc-Completed: 9
Arc-Checkpoint: a2cccac34d826070d4d861e6b598e831bea7f9fd

* Default pull request draft to true

PRs are now created as drafts by default. Users can opt out with
`draft = false` in the TOML [pull_request] config.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: arc <arc@local>
Co-authored-by: Bryan Helmkamp <bryan@brynary.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 15:20:45 -04:00
Bryan Helmkamp
2025e8303d docs file cleanup 2026-03-09 14:05:18 -04:00
Bryan Helmkamp
107bf743e6 Add LocalSandboxConfiguration to OpenAPI spec
The Rust SandboxConfig struct has a `local` field that was missing from
the OpenAPI spec, causing server_config_keys_match_openapi_spec to fail.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:35:15 -04:00
Bryan Helmkamp
794ddc91d1 Move pipelines/ to arc/workflows/ and update doc reference
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:14:55 -04:00
Bryan Helmkamp
c2b40b4cfc Move packages/ to lib/packages/ and update all references
Updated: package.json workspaces, tsconfig path alias, CI workflow
paths, Dockerfile COPY, AGENTS.md, and doc references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:13:56 -04:00
Bryan Helmkamp
9e3b73dbe4 Move crates/ to lib/crates/ and update all references
Updated: Cargo.toml workspace members, CI workflow paths, Dockerfile
COPY, AGENTS.md, skill mapping, and doc references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:12:35 -04:00
Bryan Helmkamp
33e68f7c0b Move demo/ to docs-internal/demo/ and update doc references
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:08:41 -04:00
Bryan Helmkamp
14a38a0145 Update docs for exe.dev maturation, assets config, pull_request CLI config, and --goal-file
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 10:06:23 -04:00
Bryan Helmkamp
58e2867f19 Update changelog for 2026-03-09 with exe.dev maturation and update 2026-03-08
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 10:02:20 -04:00
Bryan Helmkamp
d3b7cf4a47 Close 3 exe.dev gaps: OpenAPI ExeConfig schema, preflight clone, run-branch resume
- Add `image` property to OpenAPI `ExeConfiguration` schema so the
  generated TS client gets a typed interface instead of bare `object`
- Extract `resolve_exe_clone_params()` helper and wire it into preflight
  so `--preflight --sandbox exe` tests the git clone path
- Expand `run_from_branch()` to support exe.dev: resolve sandbox provider,
  connect SSH, initialize VM, fetch+checkout the run branch, wrap with
  GitCredentialSandbox + ReadBeforeWriteSandbox, and clean up on exit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 09:59:08 -04:00
Bryan Helmkamp
3100fd3a62 Add assets schema to OpenAPI spec for ServerConfiguration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:50:57 -04:00
Bryan Helmkamp
6694dbbeb9 Change logs dir naming from arc-run-YYYYMMDD-HHMMSS to YYYYMMDD-{run_id}
Embeds the ULID run_id directly in the directory name so logs dirs
can be easily correlated with runs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:24:15 -04:00
Bryan Helmkamp
e5cfeaacaa Update OpenAPI spec and TS client for stream_event SSE format
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:50:51 -04:00
Bryan Helmkamp
36ad1606ee Update docs for tool-level hooks, server mode, and auto-PR
- hooks.mdx: add pre_tool_use/post_tool_use/post_tool_use_failure events,
  tool-specific context fields, matcher support for tool names
- cli.mdx: add --mode and --server-url flags to arc exec
- run-configuration.mdx: add [pull_request] section
- github.mdx: add auto-PR to features table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:49:28 -04:00
Bryan Helmkamp
39b10b0a5a Update changelog for 2026-03-08 with hooks, server mode, and auto-PR
Regenerate the changelog entry to cover all commits since the last
watermark. Add changelog writing guideline to use user-facing language
instead of internal Rust names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:45:30 -04:00
Bryan Helmkamp
7f264e44c1 arc exec server mode via /completions proxy (#4)
* arc(01KK6WHKW0XB829BBCXH5N5G03): implement (success)

Arc-Run: 01KK6WHKW0XB829BBCXH5N5G03
Arc-Completed: 2
Arc-Checkpoint: b394706ae5111891bed4c3c20290464410a8ff23

* arc(01KK6WHKW0XB829BBCXH5N5G03): simplify (success)

Arc-Run: 01KK6WHKW0XB829BBCXH5N5G03
Arc-Completed: 3
Arc-Checkpoint: fa9fabbe6016dd6bb795a4a1711792320aa4e1b2

---------

Co-authored-by: arc <arc@local>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:36:33 -04:00
Bryan Helmkamp
80fbeb5fcd Auto-PR on Successful Workflow Run (#3)
* arc(01KK6WHJ904CXGN0MCQFGWKMKS): implement (success)

Arc-Run: 01KK6WHJ904CXGN0MCQFGWKMKS
Arc-Completed: 2
Arc-Checkpoint: 4c3a9115be9074c7e23792c0ef9b1f0525ffc10d

* arc(01KK6WHJ904CXGN0MCQFGWKMKS): simplify (success)

Arc-Run: 01KK6WHJ904CXGN0MCQFGWKMKS
Arc-Completed: 3
Arc-Checkpoint: 7d8e8413e70eb198e14fcb676903dcc91bd21b76

* Fix merge conflicts: add pull_request to OpenAPI spec, fix clippy warning, cargo fmt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: arc <arc@local>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:32:55 -04:00
Bryan Helmkamp
7f6f356bae TOML Config Format for MCP Servers (#2)
* arc(01KK6WHD2MEDZ0JVYTHEK9HFNF): implement (success)

Arc-Run: 01KK6WHD2MEDZ0JVYTHEK9HFNF
Arc-Completed: 2
Arc-Checkpoint: 25f71de745f9001a09e566706d62a6ac2ea6f827

* arc(01KK6WHD2MEDZ0JVYTHEK9HFNF): simplify (success)

Arc-Run: 01KK6WHD2MEDZ0JVYTHEK9HFNF
Arc-Completed: 3
Arc-Checkpoint: fed4325308110df4799171944ddb5170de59044c

* Fix Rust formatting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: arc <arc@local>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:26:46 -04:00
Bryan Helmkamp
d002aa0b51 Rename arc run startarc run (#5)
* arc(01KK7524KNGTPS4090QMF87FJN): implement (success)

Arc-Run: 01KK7524KNGTPS4090QMF87FJN
Arc-Completed: 2
Arc-Checkpoint: 1ff03c704805dfe8e7c37b37f97bd06dfa0e5dc5

* Fix: restore trailing newlines stripped by previous commit

* arc(01KK7524KNGTPS4090QMF87FJN): simplify (success)

Arc-Run: 01KK7524KNGTPS4090QMF87FJN
Arc-Completed: 3
Arc-Checkpoint: 21771adfd26283a1d1e6b8a123a83a0c4277db48

---------

Co-authored-by: arc <arc@local>
Co-authored-by: Arc Assistant <assistant@arc.dev>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:14:50 -04:00
Bryan Helmkamp
8ee27278dd Add conformance test to detect ServerConfig ↔ OpenAPI spec drift
Recursively compares serialized ServerConfig keys against the
OpenAPI ServerConfiguration schema properties. Also fixes 7 fields
that were missing from the spec: log, checkpoint, git.slug,
git.author, git.webhooks, sandbox.exe, sandbox.env.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:44:59 -04:00
Bryan Helmkamp
5a720ddb26 Rename /runs/{id}/compare to /runs/{id}/files with pagination
Replace the RunCompare envelope (checkpoints + files + stats) with a
standard PaginatedRunFileList response containing FileDiff items,
matching the existing pagination pattern used by other endpoints.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:37:30 -04:00
Bryan Helmkamp
e73f2ab00e Add pause/unpause run endpoints
Add POST /runs/{id}/pause and POST /runs/{id}/unpause endpoints
following the cancel endpoint conventions, with paused RunStatus variant,
demo stubs, and regenerated TypeScript client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:36:36 -04:00
Bryan Helmkamp
be358944c0 Reorganize API Reference nav: remove unused sections, nest under More
Remove Verification, Insights, and Retros groups. Move Sessions, Models,
and Administration as sub-groups under More. Add unlisted Test Model
endpoint. Hide Run Verification endpoint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:20:35 -04:00
Bryan Helmkamp
09a2166324 Update changelog and docs for webhook listener, verbose config, optional goal
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:15:52 -04:00
Bryan Helmkamp
014ff0595b Update changelog and docs for March 7-8 changes
Regenerate March 7 changelog with sandbox.env, CLI renames, and missing
accordion items. Add March 8 changelog for sandbox reliability and @file
validation. Update reference docs for --goal, --mode flags, sandbox.env,
checkpoint exclude globs, [log] config, [git.author], and project_memory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 11:22:26 -04:00
Bryan Helmkamp
7af7fb30d6 Update docs to reflect new stream read timeout and backoff defaults
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 10:05:48 -04:00
Bryan Helmkamp
59634a3936 Increase default stall watchdog timeout from 10 minutes to 30 minutes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 09:52:07 -04:00
Bryan Helmkamp
36d35d07fe Consolidate changelog writing guide into /changelog skill
Move docs/naming/changelog-guide.md into the skill's references/
directory and de-duplicate SKILL.md against guide.md and format.md.
Each file now has a single responsibility: SKILL.md (workflow steps),
guide.md (writing conventions), format.md (MDX template).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 22:42:39 -05:00
Bryan Helmkamp
1825b61b0e Rename arc agent CLI subcommand to arc exec
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 22:38:03 -05:00
Bryan Helmkamp
ecd5d0ae9a Document dockerfile path syntax in run configuration docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 21:23:56 -05:00
Bryan Helmkamp
f0c97a2739 Add server-mode support for arc llm chat via session endpoints
Implement the server-side session handlers (create, retrieve, send message,
stream events, list) with in-memory storage and LLM generation, wire them
into the router replacing not_implemented stubs, add run_chat_via_server
CLI function with SSE streaming, and add mode dispatch so `arc llm chat
--mode server` delegates to the API server.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:34:15 -05:00
Bryan Helmkamp
55f9f0bd9d Remove extra spacing between screenshot and cards on introduction page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:33:49 -05:00
Bryan Helmkamp
90838c7e27 Crop doc screenshots to remove browser chrome and tighten framing
- runs-board: removed browser tabs and address bar
- run-detail and workflow-example: removed browser chrome, Arc nav, and cropped sides

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:26:21 -05:00
Bryan Helmkamp
c558215878 Update changelog and add coming-soon warnings to deploy guide stubs
Update 2026-03-07 changelog with Completions API, Sprites sandbox,
removed endpoints, and additional fixes. Replace plain text on deploy
guide stub pages with Warning callouts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:18:36 -05:00
Bryan Helmkamp
bc3b76f658 Add screenshots and private preview warning to getting-started docs
- Add runs board screenshot to introduction page
- Add run detail and workflow diagram screenshots to why-arc page
- Add private research preview warning to quick-start page

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:14:55 -05:00
Bryan Helmkamp
21f94f48de Add POST /completions endpoint with Anthropic-style SSE streaming
Adds a completions API endpoint that supports both streaming (SSE) and
non-streaming (JSON) modes, with structured output via JSON Schema.
Wires up the CLI `arc llm prompt` command to use the server when
`--mode server` is specified.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:06:58 -05:00
Bryan Helmkamp
4707589943 Add Sprites docs page and mark Slack/exe.dev as in progress
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:06:58 -05:00