ai c89c2ec2..30372b85
PR #18912, base is the merge-base c89c2ec2 — the same diff the PR page shows
What the diff shows
GitHub tells you what lines changed.
- 19 files changed
- 807 lines in changed components
- 6 components touched
- 0 public routes added or removed
- 0 schema statements
- 0 dependencies added
What you actually need
Cutplane tells you what changed in the system.
- DeepAgents, Claude Code, Codex, OpenCode and ACP harnesses now supply reusable sandbox setup recipes.
- Sandbox preparation now applies selected harness recipes before sessions start and derives a deterministic identity for the prepared artifact.
- DeepAgents setup now installs a checksum-verified ripgrep binary when the sandbox does not already provide one.
- ACP setup now packages and installs the selected npm-based implementation alongside its bridge.
What this change does — 1 change, 1 added
Reusable harness sandbox setup, added
ADDEDHarness bridge runtimes and their dependencies were installed as part of session startupbecomesHarnesses provide reusable setup recipes that sandbox preparation can apply and identify before sessions begin
Sandbox providers can now prepare a reusable template or snapshot with the bridge runtimes and command-line tools required by selected harnesses before creating live sessions. The prepared artifact carries a deterministic identity derived from its selected recipes and optional sandbox setup, allowing providers to cache it and later skip already-applied setup. Claude Code, Codex, OpenCode, DeepAgents, and ACP-based harnesses each provide the files and installation commands needed for this common preparation flow.
- Allows snapshot-capable sandbox providers to preserve installed runtimes and avoid repeating setup for later sessions
- Uses one recipe application and identity path across the supported harnesses
- Records setup under the sandbox working area, avoiding a requirement for root filesystem access
10 files read to write this
- packages/harness-deepagents/src/deepagents-bootstrap.ts
- packages/harness-claude-code/src/claude-code-harness.ts
- packages/harness-codex/src/codex-harness.ts
- packages/harness-opencode/src/opencode-harness.ts
- packages/harness-acp/src/v1/acp-bootstrap.ts
- packages/harness/src/agent/prepare-sandbox-for-harness.ts
- packages/harness-deepagents/src/deepagents-harness.ts
- packages/harness-claude-code/src/claude-code-bootstrap.ts
- packages/harness-codex/src/codex-bootstrap.ts
- packages/harness-opencode/src/opencode-bootstrap.ts
ComponentDeepAgents, Claude Code and 4 more components
- DeepAgents
packages/harness-deepagents/src/2 files · 171 lines - Claude Code
packages/harness-claude-code/src/2 files · 133 lines - Codex
packages/harness-codex/src/2 files · 124 lines - OpenCode
packages/harness-opencode/src/2 files · 120 lines - ACP V1
packages/harness-acp/src/v1/2 files · 233 lines - Agent
packages/harness/src/agent/1 file · 26 lines
The DeepAgents static export surface added DEEPAGENTS_BOOTSTRAP_DIR and getDeepAgentsBootstrap.C5claim:10symbols/surface.ts exportSurface over
packages/harness-deepagents/src/,packages/harness-deepagents/src/The Claude Code static export surface added CLAUDE_CODE_BOOTSTRAP_DIR and getClaudeCodeBootstrap.C5claim:8symbols/surface.ts exportSurface over
packages/harness-claude-code/src/,packages/harness-claude-code/src/The Codex static export surface added CODEX_BOOTSTRAP_DIR and getCodexBootstrap.C5claim:9symbols/surface.ts exportSurface over
packages/harness-codex/src/,packages/harness-codex/src/The OpenCode static export surface added OPENCODE_BOOTSTRAP_DIR and getOpenCodeBootstrap.C5claim:11symbols/surface.ts exportSurface over
packages/harness-opencode/src/,packages/harness-opencode/src/The ACP V1 static export surface added createACPBootstrap.C5claim:7symbols/surface.ts exportSurface over
packages/harness-acp/src/v1/,packages/harness-acp/src/v1/- DeepAgents
File11 files, +424 −383
- packages/harness-acp/src/v1/acp-bootstrap.ts+119 −0
- packages/harness-acp/src/v1/acp-v1-harness.ts+7 −107
- packages/harness-deepagents/src/deepagents-bootstrap.ts+87 −0
- packages/harness-deepagents/src/deepagents-harness.ts+5 −79
- packages/harness-claude-code/src/claude-code-harness.ts+5 −63
- packages/harness-claude-code/src/claude-code-bootstrap.ts+65 −0
- packages/harness-codex/src/codex-harness.ts+5 −59
- packages/harness-opencode/src/opencode-harness.ts+5 −57
…and 3 more, in this report’s stored JSON
The ACP V1 component changed 2 files, with 233 lines added or removed.C3claim:1component/change.ts componentChanges over
packages/harness-acp/src/v1/acp-bootstrap.ts,packages/harness-acp/src/v1/acp-v1-harness.tsThe DeepAgents component changed 2 files, with 171 lines added or removed.C3claim:2component/change.ts componentChanges over
packages/harness-deepagents/src/deepagents-bootstrap.ts,packages/harness-deepagents/src/deepagents-harness.tsThe Claude Code component changed 2 files, with 133 lines added or removed.C3claim:3component/change.ts componentChanges over
packages/harness-claude-code/src/claude-code-bootstrap.ts,packages/harness-claude-code/src/claude-code-harness.tsThe Codex component changed 2 files, with 124 lines added or removed.C3claim:4component/change.ts componentChanges over
packages/harness-codex/src/codex-bootstrap.ts,packages/harness-codex/src/codex-harness.tsThe OpenCode component changed 2 files, with 120 lines added or removed.C3claim:5component/change.ts componentChanges over
packages/harness-opencode/src/opencode-bootstrap.ts,packages/harness-opencode/src/opencode-harness.tsThe Agent component changed 1 file, with 26 lines added or removed.C3claim:6component/change.ts componentChanges over
packages/harness/src/agent/prepare-sandbox-for-harness.tsFunctioncreateACPBootstrap(), createACPV1() and 3 more functions
- createACPBootstrap()
packages/harness-acp/src/v1/acp-bootstrap.tsreaches ACP V1 - createACPV1()
packages/harness-acp/src/v1/acp-v1-harness.tsreaches packages/harness-acp/src/v1/bridge/ - DEEPAGENTS_BOOTSTRAP_DIR()
packages/harness-deepagents/src/deepagents-bootstrap.tsreaches DeepAgents - OPENCODE_BOOTSTRAP_DIR()
packages/harness-opencode/src/opencode-bootstrap.tsreaches OpenCode - prepareSandboxForHarness()
packages/harness/src/agent/prepare-sandbox-for-harness.tsreaches packages/harness/agent/
The addition of createACPBootstrap reached 6 files in packages/harness-acp/src/v1/ through a precise 1-to-4-hop path; 3 of 3 names in its file changed.C7claim:18packages/harness-acp/src/v1/acp-bootstrap.ts:12-89(head)impact/reach.ts reverse-reachability, lifted by impact/group.ts over
packages/harness-acp/src/v1/The body change to createACPV1 reached 4 files in packages/harness-acp/src/v1/bridge/ through a precise 3-to-4-hop path via packages/harness-acp/src/v1/, packages/harness-acp/src/, and packages/harness-acp/src/v1/bridge/; 3 of 23 names in its file changed.C7claim:19packages/harness-acp/src/v1/acp-v1-harness.ts:111-682(head)impact/reach.ts reverse-reachability, lifted by impact/group.ts over
packages/harness-acp/src/v1/,packages/harness-acp/src/,packages/harness-acp/src/v1/bridge/The addition of DEEPAGENTS_BOOTSTRAP_DIR reached 2 files in packages/harness-deepagents/src/ through a precise 1-to-2-hop path; 8 of 8 names in its file changed.C7claim:15packages/harness-deepagents/src/deepagents-bootstrap.ts:10-10(head)impact/reach.ts reverse-reachability, lifted by impact/group.ts over
packages/harness-deepagents/src/The addition of OPENCODE_BOOTSTRAP_DIR reached 2 files in packages/harness-opencode/src/ through a precise 1-to-2-hop path; 4 of 4 names in its file changed.C7claim:16packages/harness-opencode/src/opencode-bootstrap.ts:5-5(head)impact/reach.ts reverse-reachability, lifted by impact/group.ts over
packages/harness-opencode/src/The body change to prepareSandboxForHarness reached 1 file in packages/harness/agent/ through a precise 1-hop path via packages/harness/src/agent/ and packages/harness/agent/; 2 of 5 names in its file changed.C7claim:17packages/harness/src/agent/prepare-sandbox-for-harness.ts:43-117(head)impact/reach.ts reverse-reachability, lifted by impact/group.ts over
packages/harness/src/agent/,packages/harness/agent/- createACPBootstrap()
Diff51 line ranges
- packages/harness-acp/src/v1/acp-bootstrap.ts1–119
- packages/harness-acp/src/v1/acp-v1-harness.ts2–2, 4–4, 9–9 and 7 more spans
- packages/harness-deepagents/src/deepagents-bootstrap.ts1–87
- packages/harness-deepagents/src/deepagents-harness.ts2–2, 4–4, 10–10 and 6 more spans
- packages/harness-claude-code/src/claude-code-harness.ts2–2, 4–4, 10–10 and 5 more spans
- packages/harness-claude-code/src/claude-code-bootstrap.ts1–65
- packages/harness-codex/src/codex-harness.ts2–2, 4–4, 10–10 and 5 more spans
- packages/harness-opencode/src/opencode-harness.ts2–2, 4–4, 10–10 and 5 more spans
…and 3 more, in this report’s stored JSON
Written from 10 files of the 11 changed files that belong to a component, ranked by the same review priority as the components below.
19 files changed, 19 claims stated. 8 components reached in total.
Architecture — 6 components changed
Before
packages/harness-deepagents/src/packages/harness-claude-code/src/packages/harness-codex/src/packages/harness-opencode/src/packages/harness-acp/src/v1/packages/harness/src/agent/After
packages/harness-deepagents/src/MODIFIEDpackages/harness-claude-code/src/MODIFIEDpackages/harness-codex/src/MODIFIEDpackages/harness-opencode/src/MODIFIEDpackages/harness-acp/src/v1/MODIFIEDpackages/harness/src/agent/MODIFIEDpackages/harness-deepagents/src/packages/harness-claude-code/src/packages/harness-codex/src/packages/harness-opencode/src/packages/harness-acp/src/v1/packages/harness/src/agent/What this narrows
- files at head7,881
- components251
- changed by this change6
- drawn above of 66
- ranked most important of 63
Each row is the one above it, narrowed by review priority — never by the renderer, and never by the alphabet. Everything a row leaves out is in this report’s stored JSON, with the score that put it there.
Where the new files landed — 5 files in 5 components
Every file this change added, grouped by the component it landed in — what each arrival belongs to, what reaches it, and what it reaches. The files themselves are in this report’s stored JSON.
packages/harness-deepagents/src/1 NEW FILE- Belongs to
- DeepAgentsbase frame
- Used by
- nothing in the existing application
- Calls
- nothing internal
packages/harness-claude-code/src/1 NEW FILE- Belongs to
- Claude Codebase frame
- Used by
- nothing in the existing application
- Calls
- nothing internal
packages/harness-codex/src/1 NEW FILE- Belongs to
- Codexbase frame
- Used by
- nothing in the existing application
- Calls
- nothing internal
packages/harness-opencode/src/1 NEW FILE- Belongs to
- OpenCodebase frame
- Used by
- nothing in the existing application
- Calls
- nothing internal
packages/harness-acp/src/v1/1 NEW FILE- Belongs to
- ACP V1base frame
- Used by
- nothing in the existing application
- Calls
- nothing internal
1 added file carries no component — 1 docs.
What else could behave differently — 8 components
These components import something this change touched, so they may behave differently — 24 files of them in total. 3 components of them were not edited by it.
3 of 7 computed groups drawn, ranked by review priority. The other 4 are below and in this report’s stored JSON.
The body change to createACPV1 reached 4 files in packages/harness-acp/src/ through a precise 1-to-3-hop path via packages/harness-acp/src/v1/ and packages/harness-acp/src/; 3 of 23 names in its file changed.
- ACP V1
packages/harness-acp/src/v1/ - packages/harness-acp/src/
createACPV1 in packages/harness-acp/src/v1/acp-v1-harness.ts (body changed) · 1-3 hops · precise · 1 of 2 changed symbols reaching it
packages/harness-acp/src/v1/acp-v1-harness.ts:111-682 (head)
impact/reach.ts reverse-reachability, lifted by impact/group.ts over packages/harness-acp/src/v1/, packages/harness-acp/src/
packages/harness-claude-code/src/C73 files may behave differentlyThe addition of CLAUDE_CODE_BOOTSTRAP_DIR reached 3 files in packages/harness-claude-code/src/ through a precise 1-to-2-hop path; 4 of 4 names in its file changed.
- Claude Code
packages/harness-claude-code/src/
CLAUDE_CODE_BOOTSTRAP_DIR in packages/harness-claude-code/src/claude-code-bootstrap.ts (added) · 1-2 hops · precise · 1 of 3 changed symbols reaching it
packages/harness-claude-code/src/claude-code-bootstrap.ts:17-17 (head)
impact/reach.ts reverse-reachability, lifted by impact/group.ts over packages/harness-claude-code/src/
packages/harness-codex/src/C72 files may behave differentlyThe addition of CODEX_BOOTSTRAP_DIR reached 2 files in packages/harness-codex/src/ through a precise 1-to-2-hop path; 4 of 4 names in its file changed.
- Codex
packages/harness-codex/src/
CODEX_BOOTSTRAP_DIR in packages/harness-codex/src/codex-bootstrap.ts (added) · 1-2 hops · precise · 1 of 3 changed symbols reaching it
packages/harness-codex/src/codex-bootstrap.ts:16-16 (head)
impact/reach.ts reverse-reachability, lifted by impact/group.ts over packages/harness-codex/src/
1 component held back at 3+ hops or by an ambiguous edge
| component | files | hops | resolution |
|---|---|---|---|
| packages/harness-acp/src/v1/bridge/ | 4 | 3-4 | precise |
4 more components reached, ranked lower
| component | files | hops |
|---|---|---|
| packages/harness-deepagents/src/ | 2 | 1-2 |
| packages/harness-opencode/src/ | 2 | 1-2 |
| packages/harness/agent/ | 1 | 1-1 |
| packages/harness-acp/src/v1/ | 6 | 1-4 |
12 reached files belong to no component — tests, docs and config.
Routes, schema, dependencies
No public URL, no migration and no new package.
Not stated
- 455 routes were found on files whose role excludes them, so no route is claimed for them.