Skip to content

feat(acp): implement set_session_mode with current_mode_update notification#946

Merged
bug-ops merged 4 commits intomainfrom
feat/acp-920-session-modes
Feb 26, 2026
Merged

feat(acp): implement set_session_mode with current_mode_update notification#946
bug-ops merged 4 commits intomainfrom
feat/acp-920-session-modes

Conversation

@bug-ops
Copy link
Owner

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

Summary

  • Implements set_session_mode ACP method on ZephAcpAgent (ask/architect/code modes)
  • Emits CurrentModeUpdate session notification on mode switch
  • Populates availableModes field in new_session and load_session responses
  • Adds current_mode: RefCell<SessionModeId> to SessionEntry (consistent with existing current_model pattern)

Closes #920 (Epic 2 from .local/plan/acp-gap-analysis.md)

Test plan

  • cargo +nightly fmt --check — clean
  • cargo clippy --workspace -- -D warnings — zero warnings
  • cargo nextest run --workspace --lib --bins — 2859/2859 passed
  • 5 new unit tests: new_session_includes_modes, set_session_mode_updates_entry, set_session_mode_emits_notification, set_session_mode_rejects_unknown_mode, set_session_mode_rejects_unknown_session

…cation (#920)

Add session mode support (ask/architect/code) to zeph-acp:
- Override set_session_mode on ZephAcpAgent: validates mode_id, stores in
  SessionEntry.current_mode, emits CurrentModeUpdate notification
- Populate availableModes in new_session and load_session responses via
  available_session_modes() and build_mode_state() helpers
- Add 5 unit tests covering mode switch, notification emission, and error paths
@github-actions github-actions bot added enhancement New feature or request size/M documentation Improvements or additions to documentation rust and removed enhancement New feature or request labels Feb 26, 2026
@github-actions github-actions bot added the enhancement New feature or request label Feb 26, 2026
@github-actions github-actions bot added size/L and removed size/M labels Feb 26, 2026
@bug-ops bug-ops enabled auto-merge (squash) February 26, 2026 01:32
@bug-ops bug-ops merged commit 68e1016 into main Feb 26, 2026
28 checks passed
@bug-ops bug-ops deleted the feat/acp-920-session-modes branch February 26, 2026 01:43
@bug-ops bug-ops linked an issue Feb 26, 2026 that may be closed by this pull request
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ACP] Implement set_session_mode mapped to Zeph skills Epic: [ACP] Session modes support

1 participant