Implement the Pi AgentRuntime adapter
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Parent and milestone
- Parent issue: #23
- Milestone: not scheduled; implementation starts after #15 and #42.
## Problem
Pi is a high-priority provider-neutral coding agent with ACP, SDK, and RPC
options, but Durex has no evidence-based choice or adapter for its sessions,
events, interactions, and cancellation.
## Outcome
Add a conforming Pi adapter through the pinned ACP adapter, using Pi RPC only
for required capabilities or guarantees documented by #25 and keeping the Node
SDK out of the Python process.
## Scope
- Launch and supervise a pinned Pi ACP process inside #44.
- Map sessions, streamed updates, tool calls, model/provider metadata, errors,
interactions, and cancellation.
- Add bounded Pi RPC extensions only when the common contract declares and
tests them.
- Document authentication and model/provider configuration ownership.
## Non-goals
- Embedding Pi as an in-process Node library.
- Forking ACP or replacing Durex ownership with Pi extensions.
- Supporting every Pi package or RPC method in the first adapter PR.
## Acceptance criteria
- [ ] The ACP path passes the common conformance suite.
- [ ] Every RPC extension links a #25 capability/security gap.
- [ ] Process crash, malformed update, backpressure, cancellation, resume, and
unsupported capability cases are tested.
- [ ] Pi and OpenCode produce equivalent normalized outcomes for shared
fixtures.
- [ ] Architecture, adapter, and operator documentation is updated.
## Validation
- Run fake ACP/RPC tests and pinned local smoke tasks covering start, output,
interaction, cancel, and resume.
## Dependencies
- #25, #26, #27, #44, #45, and #15.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with dependencies #25, #44, and the common contract, then review the fake ACP/RPC tests and pinned local smoke tasks named in the issue. The work is done when the ACP conformance suite passes, required failure and lifecycle cases are tested, shared Pi/OpenCode fixtures normalize equivalently, and the architecture, adapter, and operator documentation is updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100