Skip to content

feat(acp): implement unstable session features (list, fork, resume)#949

Merged
bug-ops merged 7 commits intomainfrom
feat/acp-931-unstable-features
Feb 26, 2026
Merged

feat(acp): implement unstable session features (list, fork, resume)#949
bug-ops merged 7 commits intomainfrom
feat/acp-931-unstable-features

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 26, 2026

Summary

  • Implement G12/G13/G14 from Epic 6 of the ACP gap analysis
  • list_sessions: enumerate in-memory sessions with optional cwd filter, returns SessionInfo list
  • fork_session: clone session history from SQLite into a new session ID and spawn a fresh agent loop
  • resume_session: restore a persisted session without replaying event history (contrast with load_session)
  • All three methods gated behind unstable-session-list, unstable-session-fork, unstable-session-resume crate features forwarding to SDK feature flags
  • Composite acp-unstable root feature added, included in full
  • initialize() advertises SessionCapabilities when relevant features are enabled
  • 6 new unit tests, 2854 total tests passing

Test plan

  • cargo nextest run -p zeph-acp --features unstable-session-list,unstable-session-fork,unstable-session-resume — 115 tests pass
  • cargo nextest run --workspace --lib --bins — 2854 tests pass
  • cargo clippy --workspace -- -D warnings — no warnings
  • cargo +nightly fmt --check — clean
  • Build with --features acp-unstable and verify ACP client sees sessionCapabilities in initialize response

Resolves #931

Add G12/G13/G14 from Epic 6 of the ACP gap analysis:
- `list_sessions`: enumerate in-memory sessions with optional cwd filter
- `fork_session`: clone session history into a new session and spawn agent loop
- `resume_session`: restore session from SQLite without replaying event history

Feature-gate all three methods and capability advertisement behind
`unstable-session-list`, `unstable-session-fork`, `unstable-session-resume`
crate features, which forward to the corresponding SDK flags. A composite
`acp-unstable` feature is added to the root crate and to `full`.

Resolves #931
Update zeph-acp README with Feature Flags section covering the three
unstable session feature flags. Extend docs/src/advanced/acp.md with
an Unstable session features section and docs/src/reference/feature-flags.md
with crate-level entries for unstable-session-list/fork/resume and the
composite acp-unstable root flag.
@github-actions github-actions bot added documentation Improvements or additions to documentation rust dependencies enhancement New feature or request size/L labels Feb 26, 2026
Resolve merge conflicts with origin/main: preserve set_session_mode,
current_mode_update, and PromptCapabilities from main alongside the
unstable session list/fork/resume features from this branch.
Rewrite zeph-acp README with detailed subsections for each unstable
feature flag, document acp-http flag, add [!WARNING] callout.

Rewrite docs/src/advanced/acp.md unstable section: fix method names
(list_sessions/fork_session/resume_session, not ext_method paths),
add request/response parameter tables, JSON examples, and behavioral
notes for each method.

Update docs/src/reference/feature-flags.md: correct method names,
add cross-reference links to acp.md subsections, expand acp-unstable
composite flag description.
@github-actions github-actions bot added size/XL and removed size/L labels Feb 26, 2026
@bug-ops bug-ops enabled auto-merge (squash) February 26, 2026 02:40
@bug-ops bug-ops merged commit 8d84f8b into main Feb 26, 2026
28 checks passed
@bug-ops bug-ops deleted the feat/acp-931-unstable-features branch February 26, 2026 02:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies documentation Improvements or additions to documentation enhancement New feature or request rust size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ACP] Implement resume_session [ACP] Implement native list_sessions [ACP] Implement fork_session Epic: [ACP] MCP transport parity

1 participant