Skip to content

Add ACP-backed harness continuation#2046

Draft
xeophon wants to merge 4 commits into
feat/agent-chatfrom
agent/acp-user-simulation
Draft

Add ACP-backed harness continuation#2046
xeophon wants to merge 4 commits into
feat/agent-chatfrom
agent/acp-user-simulation

Conversation

@xeophon

@xeophon xeophon commented Jul 16, 2026

Copy link
Copy Markdown
Member

Overview

Adds public Agent Client Protocol support to v1 harnesses on top of the unified agent chat exchange in #2049.

Details

  • Introduces vf.ACP as the shared one-segment ACP transport.
  • Enables Kimi Code, RLM, and Compact to continue chats through transcript replay.
  • Uses the upstream pi-acp adapter and native ACP session loading for Pi.
  • Preserves harness-owned tool configuration and aggregates RLM metrics across chat segments.
  • Adds an end-to-end user-simulation matrix for the four ACP-backed harnesses.

@xeophon xeophon changed the title Add ACP-backed user simulation to MCP harnesses Add ACP Jul 16, 2026
@xeophon xeophon changed the title Add ACP Add ACP-backed user simulation Jul 16, 2026
hallerite and others added 4 commits July 16, 2026 19:17
…chanism

The turn half of the agent-programs work, stacked on the run half
(feat/agent-programs). This commit restores the exchange surface carved out
of that PR — the tree is byte-identical to the pre-split, fully validated
state (feat/agent-programs-backup).

- Agent.chat(task) -> ChatSession: the caller IS the run's user; one
  turn() per harness segment (the program runs to its exit, the caller
  answers, the next segment resumes the exchange with the answer).
  mask_prompt hides a scenario prompt from the wire while the task still
  scores the real row.
- Harness.resume: relaunch on the accreted conversation by default
  (SUPPORTS_MESSAGE_PROMPT); codex overrides it with a native continuation
  (codex exec resume --last in a per-trace CODEX_HOME).
- The user loop moves OUT of the model boundary: the old vf.User/Task.user
  in-boundary mechanism (session injection, dialect extend, serve_user,
  UserError, the -U scaffold, the placement matrix) is deleted — chat
  sessions in the env's rollout() are the one exchange mechanism.
- textarena/alphabet-sort/color-codeword/wordle re-ported to session loops;
  user-sim bundled env (two-session relay, the tau-style substrate) and
  kuhn_poker_v1 (self-play reference) added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Keeps the stacked tree current with its base: main's #2047 (prime image
auto-builds) rides in through the base merge; pyproject re-bumps
prime-sandboxes>=0.2.31 on top of this branch's kuhn-poker workspace
member, and the lock is refreshed accordingly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@xeophon
xeophon force-pushed the agent/acp-user-simulation branch from 7bbb979 to a20343f Compare July 17, 2026 13:44
@xeophon xeophon changed the title Add ACP-backed user simulation Add ACP-backed harness continuation Jul 17, 2026
@xeophon
xeophon changed the base branch from main to feat/agent-chat July 17, 2026 13:45
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.

2 participants