Skip to content

feat(acp): ship Codex and actor session benchmark#1750

Draft
NathanFlurry wants to merge 57 commits into
mainfrom
agent/acp-codex-session-benchmark
Draft

feat(acp): ship Codex and actor session benchmark#1750
NathanFlurry wants to merge 57 commits into
mainfrom
agent/acp-codex-session-benchmark

Conversation

@NathanFlurry

Copy link
Copy Markdown
Member

Summary

  • completes the ACP runtime/client convergence stack and preserves session/process lifecycle correctness across native and browser runtimes
  • packages the WASI Codex engine and ACP adapter, including a mock-backed first-turn integration test
  • adds the standard actor-session benchmark for Claude Code, Pi, Codex, and OpenCode, measuring both session spawn and the first mocked LLM turn
  • adds just install-gigacode to rebuild, reinstall, and version-check the sibling Gigacode checkout

Why

We need a repeatable answer for two different latency boundaries: when an agent process has completed its ACP handshake, and when its first message reaches the provider and completes. Codex also needs to be tested as the two-package combination (codex agent adapter plus codex-cli/WASI engine), not just as independently buildable artifacts.

Benchmark

Command:

BENCH_ONLY=actor-session BENCH_ITERATIONS=3 BENCH_WARMUP=1 bash scripts/benchmarks/run-benchmarks.sh

All four agents completed 3/3 measured session creations and 3/3 mocked prompts after one excluded warmup.

Agent Session create p50 Prompt → provider p50 Prompt → first text p50 Prompt complete p50
Claude Code 333.4 ms 1,871.0 ms 2,063.0 ms 2,108.7 ms
Pi 451.0 ms 91.0 ms 160.4 ms 203.9 ms
Codex 160.5 ms 3,352.0 ms 3,445.1 ms 3,446.3 ms
OpenCode 1,531.8 ms 1,426.0 ms 2,784.4 ms 2,834.2 ms

The provider is local llmock, so the first-turn numbers primarily measure agent/runtime startup and protocol overhead rather than network/model latency. The run exposed non-fatal teardown diagnostics after successful measurements (Claude process ESRCH and a final VM close-state warning); those do not change the recorded success counts.

Validation

  • clean Codex WASI build from rivet-dev/codex@8f4655a9d via make -C registry/native codex-required (29,929,852-byte optimized artifact)
  • @rivet-dev/agentos-toolchain: build, typecheck, 18 tests passed (2 skipped)
  • @agentos-software/codex-cli: staged and assembled both codex and codex-exec
  • @agentos-software/codex: typecheck, package build, and package projection test passed
  • full actor-session benchmark passed for Claude Code, Pi, Codex, and OpenCode
  • GIGACODE_ROOT=/home/nathan/sandbox-agent just install-gigacode rebuilt and reinstalled gigacode 0.4.2

Notes

  • This PR intentionally carries the completed ACP stack as one tested branch. A package-only Codex backport onto the older mainline runtime can create a session but cannot drain the nested WASI process's first-turn events correctly.
  • main advanced with three website-only commits after this stack was validated; the preview is cut from this exact branch before any unrelated rebase.

fix(sidecar): remove implicit host path execution
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:24 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:25 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:33 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:37 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:40 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:42 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:44 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:49 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 22:55 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 23:00 Destroyed
# Conflicts:
#	.gitignore
#	crates/agentos-actor-plugin/src/actions/shell.rs
#	crates/client/src/shell.rs
#	crates/client/tests/shell_e2e.rs
#	crates/native-sidecar/src/execution.rs
#	crates/native-sidecar/tests/signal.rs
#	packages/core/README.md
#	packages/core/src/agent-os.ts
#	packages/core/src/runtime-compat.ts
#	packages/core/src/sidecar/rpc-client.ts
#	packages/core/src/test/terminal-harness.ts
#	packages/core/tests/brush-interactive.test.ts
#	packages/core/tests/native-sidecar-process.test.ts
#	packages/runtime-core/src/kernel-proxy.ts
#	packages/runtime-core/src/test-runtime.ts
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 23:16 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 23:27 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 23:31 Destroyed
@railway-app
railway-app Bot temporarily deployed to agentos / agentos-pr-1750 July 14, 2026 23:34 Destroyed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant