Skip to content

Commit 805d752

Browse files
NathanFlurryclaude
andcommitted
feat: US-012 - Update cli-tool-e2e spec to reflect actual tool capabilities
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c9997fc commit 805d752

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

progress.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2642,3 +2642,19 @@ PRD: ralph/kernel-hardening (46 stories)
26422642
- waitForClaudeBoot helper auto-dismisses setup dialogs (theme, workspace trust) with Enter presses — needed because Claude has multi-step first-run setup
26432643
- HostBinaryDriver must register actual claudeBinary path (may be ~/.claude/local/claude, not just 'claude')
26442644
---
2645+
2646+
## 2026-03-19 - US-012
2647+
- Updated docs-internal/specs/cli-tool-e2e.md to reflect actual tool capabilities
2648+
- Clarified Pi is the only tool that runs as JS inside the isolate VM
2649+
- Documented Claude Code as a native binary (SDK spawns cli.js, has .node addons) — same bridge-spawn approach as OpenCode
2650+
- Removed Strategy B (SDK client via @opencode-ai/sdk) throughout the spec
2651+
- Updated "Two sandbox strategies" → In-VM (Pi only) + Bridge-spawn (Claude Code, OpenCode)
2652+
- Updated gap analysis: "Blocking for binary spawn path" now covers both Claude Code and OpenCode
2653+
- Updated risks: Claude Code native binary, module resolution (Pi only), removed OpenCode server lifecycle risk
2654+
- Updated success criteria and test file layout comments
2655+
- Files changed: docs-internal/specs/cli-tool-e2e.md
2656+
- **Learnings for future iterations:**
2657+
- The spec was originally written assuming Claude Code could run in-VM — always verify runtime constraints before planning sandbox strategies
2658+
- Claude Code's SDK (sdk.mjs) is not a standalone runner; it always spawns cli.js as a subprocess with native .node dependencies
2659+
- OpenCode is a compiled Bun ELF binary — no JS source to extract
2660+
---

scripts/ralph/prd.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@
224224
"Typecheck passes"
225225
],
226226
"priority": 12,
227-
"passes": false,
228-
"notes": "The spec currently claims OpenCode 'exercises a different sandbox path: the binary runs on the host via child_process.spawn' as if this is unique to OpenCode. In reality, Claude Code also requires this approach. Pi is the only tool that can genuinely run as JS inside the VM."
227+
"passes": true,
228+
"notes": "Updated: spec now documents Pi as the only in-VM tool; Claude Code and OpenCode both use bridge-spawn. Removed Strategy B (SDK). Documented Claude Code native binary reality (.node addons, sdk.mjs spawns cli.js). Updated gap analysis, risks, and success criteria."
229229
},
230230
{
231231
"id": "US-013",

0 commit comments

Comments
 (0)