UAT: A2aLocalFacade missing _cleveragents/fs/* and _cleveragents/terminal/* multi-turn interaction extension methods #3543

Closed
opened 2026-04-05 19:09:57 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: fix/a2a-facade-fs-terminal-extension-methods
  • Commit Message: fix(a2a): implement _cleveragents/fs/* and _cleveragents/terminal/* extension methods in A2aLocalFacade
  • Milestone: None (Backlog)
  • Parent Epic: #933

Backlog note: This issue was discovered during autonomous operation
on milestone v3.4.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.

Summary

The A2aLocalFacade in src/cleveragents/a2a/facade.py does not implement the _cleveragents/fs/* and _cleveragents/terminal/* extension methods required for multi-turn interactions between a server-hosted agent and client-local resources.

Expected Behavior (from spec)

Per spec §Multi-Turn Interactions (Server → Client):

Interaction Pattern Purpose
_cleveragents/fs/read_text_file Agent reads a file on the client machine (local project resources)
_cleveragents/fs/write_text_file Agent writes a file on the client machine
_cleveragents/terminal/create Agent requests a terminal on the client machine (sandbox execution)
_cleveragents/terminal/output Terminal output streaming
_cleveragents/terminal/release Terminal lifecycle management
_cleveragents/terminal/wait_for_exit Terminal lifecycle management
_cleveragents/terminal/kill Terminal lifecycle management

These methods enable a server-hosted agent to access client-local resources without requiring the server to have direct access to the user's filesystem or terminal. They are also used by IDE plugins.

Per spec §Server Configuration and Connection: "When an agent executing on the server needs to access client-local resources (files, terminals), it uses _cleveragents/ extension methods (fs/read_text_file, fs/write_text_file, terminal/*) which the client handles locally via the A2A multi-turn interaction pattern (Task enters input-required state)."

Actual Behavior

src/cleveragents/a2a/facade.py has no entries for any _cleveragents/fs/* or _cleveragents/terminal/* methods in _EXTENSION_OPERATIONS, _SUPPORTED_OPERATIONS, or _handlers(). Dispatching any of these operations raises A2aOperationNotFoundError.

Code Location

  • src/cleveragents/a2a/facade.py_EXTENSION_OPERATIONS list and _handlers() method — missing all _cleveragents/fs/* and _cleveragents/terminal/* entries

Spec References

  • spec §Multi-Turn Interactions (Server → Client): defines _cleveragents/fs/read_text_file, _cleveragents/fs/write_text_file, _cleveragents/terminal/create, _cleveragents/terminal/output, _cleveragents/terminal/release, _cleveragents/terminal/wait_for_exit, _cleveragents/terminal/kill
  • spec §IDE Integration via A2A: "The _cleveragents/ extension methods for file and terminal operations (fs/*, terminal/*) allow the agent to interact with the IDE's workspace and integrated terminal."

Subtasks

  • Add _cleveragents/fs/read_text_file handler to _EXTENSION_OPERATIONS and _handlers() in A2aLocalFacade
  • Add _cleveragents/fs/write_text_file handler to _EXTENSION_OPERATIONS and _handlers() in A2aLocalFacade
  • Add _cleveragents/terminal/create handler to _EXTENSION_OPERATIONS and _handlers() in A2aLocalFacade
  • Add _cleveragents/terminal/output handler to _EXTENSION_OPERATIONS and _handlers() in A2aLocalFacade
  • Add _cleveragents/terminal/release handler to _EXTENSION_OPERATIONS and _handlers() in A2aLocalFacade
  • Add _cleveragents/terminal/wait_for_exit handler to _EXTENSION_OPERATIONS and _handlers() in A2aLocalFacade
  • Add _cleveragents/terminal/kill handler to _EXTENSION_OPERATIONS and _handlers() in A2aLocalFacade
  • Tests (Behave): Add scenarios for each _cleveragents/fs/* extension method dispatch
  • Tests (Behave): Add scenarios for each _cleveragents/terminal/* extension method dispatch
  • Tests (Behave): Add scenario verifying A2aOperationNotFoundError is NOT raised for these methods
  • Verify coverage >=97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • All nox stages pass
  • Coverage >= 97%

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/a2a-facade-fs-terminal-extension-methods` - **Commit Message**: `fix(a2a): implement _cleveragents/fs/* and _cleveragents/terminal/* extension methods in A2aLocalFacade` - **Milestone**: None (Backlog) - **Parent Epic**: #933 > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.4.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Summary The `A2aLocalFacade` in `src/cleveragents/a2a/facade.py` does not implement the `_cleveragents/fs/*` and `_cleveragents/terminal/*` extension methods required for multi-turn interactions between a server-hosted agent and client-local resources. ## Expected Behavior (from spec) Per spec §Multi-Turn Interactions (Server → Client): | Interaction Pattern | Purpose | |---|---| | `_cleveragents/fs/read_text_file` | Agent reads a file on the client machine (local project resources) | | `_cleveragents/fs/write_text_file` | Agent writes a file on the client machine | | `_cleveragents/terminal/create` | Agent requests a terminal on the client machine (sandbox execution) | | `_cleveragents/terminal/output` | Terminal output streaming | | `_cleveragents/terminal/release` | Terminal lifecycle management | | `_cleveragents/terminal/wait_for_exit` | Terminal lifecycle management | | `_cleveragents/terminal/kill` | Terminal lifecycle management | These methods enable a server-hosted agent to access client-local resources without requiring the server to have direct access to the user's filesystem or terminal. They are also used by IDE plugins. Per spec §Server Configuration and Connection: *"When an agent executing on the server needs to access client-local resources (files, terminals), it uses `_cleveragents/` extension methods (`fs/read_text_file`, `fs/write_text_file`, `terminal/*`) which the client handles locally via the A2A multi-turn interaction pattern (Task enters `input-required` state)."* ## Actual Behavior `src/cleveragents/a2a/facade.py` has no entries for any `_cleveragents/fs/*` or `_cleveragents/terminal/*` methods in `_EXTENSION_OPERATIONS`, `_SUPPORTED_OPERATIONS`, or `_handlers()`. Dispatching any of these operations raises `A2aOperationNotFoundError`. ## Code Location - `src/cleveragents/a2a/facade.py` — `_EXTENSION_OPERATIONS` list and `_handlers()` method — missing all `_cleveragents/fs/*` and `_cleveragents/terminal/*` entries ## Spec References - spec §Multi-Turn Interactions (Server → Client): defines `_cleveragents/fs/read_text_file`, `_cleveragents/fs/write_text_file`, `_cleveragents/terminal/create`, `_cleveragents/terminal/output`, `_cleveragents/terminal/release`, `_cleveragents/terminal/wait_for_exit`, `_cleveragents/terminal/kill` - spec §IDE Integration via A2A: *"The `_cleveragents/` extension methods for file and terminal operations (`fs/*`, `terminal/*`) allow the agent to interact with the IDE's workspace and integrated terminal."* ## Subtasks - [ ] Add `_cleveragents/fs/read_text_file` handler to `_EXTENSION_OPERATIONS` and `_handlers()` in `A2aLocalFacade` - [ ] Add `_cleveragents/fs/write_text_file` handler to `_EXTENSION_OPERATIONS` and `_handlers()` in `A2aLocalFacade` - [ ] Add `_cleveragents/terminal/create` handler to `_EXTENSION_OPERATIONS` and `_handlers()` in `A2aLocalFacade` - [ ] Add `_cleveragents/terminal/output` handler to `_EXTENSION_OPERATIONS` and `_handlers()` in `A2aLocalFacade` - [ ] Add `_cleveragents/terminal/release` handler to `_EXTENSION_OPERATIONS` and `_handlers()` in `A2aLocalFacade` - [ ] Add `_cleveragents/terminal/wait_for_exit` handler to `_EXTENSION_OPERATIONS` and `_handlers()` in `A2aLocalFacade` - [ ] Add `_cleveragents/terminal/kill` handler to `_EXTENSION_OPERATIONS` and `_handlers()` in `A2aLocalFacade` - [ ] Tests (Behave): Add scenarios for each `_cleveragents/fs/*` extension method dispatch - [ ] Tests (Behave): Add scenarios for each `_cleveragents/terminal/*` extension method dispatch - [ ] Tests (Behave): Add scenario verifying `A2aOperationNotFoundError` is NOT raised for these methods - [ ] Verify coverage >=97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - All nox stages pass - Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
Author
Owner

Closing as duplicate of #2928.

Both issues describe the same bug: A2aLocalFacade is missing _cleveragents/fs/* and _cleveragents/terminal/* extension methods. Issue #2928 is the established tracking issue (v3.4.0 milestone, Priority/High, State/Verified). Please track this work in #2928.


Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: ca-backlog-groomer

Closing as duplicate of #2928. Both issues describe the same bug: `A2aLocalFacade` is missing `_cleveragents/fs/*` and `_cleveragents/terminal/*` extension methods. Issue #2928 is the established tracking issue (v3.4.0 milestone, `Priority/High`, `State/Verified`). Please track this work in #2928. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: ca-backlog-groomer
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High — The _cleveragents/fs/* and _cleveragents/terminal/* extension methods are essential for the multi-turn interaction pattern between server-hosted agents and client-local resources. Without them, server-mode agents cannot access client files or terminals.
  • Milestone: v3.6.0 — A2A extension methods and multi-turn interactions are in scope for M7 (A2A module standardization).
  • Story Points: 8 — XL — Requires implementing 7 new extension method handlers, each with its own dispatch logic, plus comprehensive Behave scenarios for each method. Broad surface area but follows established patterns.
  • MoSCoW: Should Have — These extension methods are important for server-mode functionality and IDE integration, but the local-mode A2aLocalFacade can operate without them since local mode resolves operations in-process. They become critical only when server mode is active.
  • Parent Epic: #933 (A2A Protocol Compliance)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: High — The `_cleveragents/fs/*` and `_cleveragents/terminal/*` extension methods are essential for the multi-turn interaction pattern between server-hosted agents and client-local resources. Without them, server-mode agents cannot access client files or terminals. - **Milestone**: v3.6.0 — A2A extension methods and multi-turn interactions are in scope for M7 (A2A module standardization). - **Story Points**: 8 — XL — Requires implementing 7 new extension method handlers, each with its own dispatch logic, plus comprehensive Behave scenarios for each method. Broad surface area but follows established patterns. - **MoSCoW**: Should Have — These extension methods are important for server-mode functionality and IDE integration, but the local-mode `A2aLocalFacade` can operate without them since local mode resolves operations in-process. They become critical only when server mode is active. - **Parent Epic**: #933 (A2A Protocol Compliance) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo reopened this issue 2026-04-05 19:35:58 +00:00
freemo added this to the v3.6.0 milestone 2026-04-05 19:35:59 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#3543
No description provided.