Files
cleveragents-core/features/a2a_extension_methods.feature
T
freemo ad98d41d61
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 43s
CI / security (pull_request) Successful in 52s
CI / unit_tests (pull_request) Successful in 3m19s
CI / integration_tests (pull_request) Successful in 3m45s
CI / e2e_tests (pull_request) Successful in 3m58s
CI / coverage (pull_request) Successful in 4m27s
CI / docker (pull_request) Successful in 54s
CI / lint (push) Successful in 13s
CI / quality (push) Successful in 27s
CI / build (push) Successful in 27s
CI / typecheck (push) Successful in 38s
CI / security (push) Successful in 40s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m1s
CI / integration_tests (push) Successful in 3m42s
CI / e2e_tests (push) Successful in 3m52s
CI / coverage (push) Successful in 7m51s
CI / benchmark-publish (push) Successful in 21m7s
CI / benchmark-regression (pull_request) Successful in 39m5s
CI / docker (push) Successful in 15s
feat(a2a): implement _cleveragents/ extension method routing
Add spec-aligned _cleveragents/ prefixed extension method routing to
the A2A local facade per ADR-047. The facade now supports 42 total
operations: 31 new extension methods across 6 families plus 11
legacy proprietary names retained for backward compatibility.

Extension method families implemented:
- _cleveragents/plan/* (13 methods): use, execute, apply, cancel,
  status, tree, explain, correct, diff, artifacts, prompt, rollback,
  list. Plan operations delegate to PlanLifecycleService when wired;
  new operations (cancel, tree, explain, correct, artifacts, prompt,
  rollback, list) have stub handlers returning safe defaults.
- _cleveragents/registry/* (6 methods): tool/list, resource/list,
  actor/list, skill/list, action/list, project/list. Tool and
  resource list delegate to existing services; entity lists are stubs.
- _cleveragents/context/* (4 methods): show (delegates to existing
  handler), inspect, simulate, set (stubs).
- _cleveragents/health/* (2 methods): check, diagnostics/run.
- _cleveragents/sync/* (3 methods): pull, push, status (stubs).
- _cleveragents/namespace/* (3 methods): list, show, members (stubs).

Legacy proprietary names (session.create, plan.create, etc.) continue
to work via the same handler map, marked deprecated. Updated existing
test assertions for the expanded operation count (11 -> 42).

ISSUES CLOSED: #876
2026-03-18 17:33:30 +00:00

67 lines
3.0 KiB
Gherkin

@mock_only
Feature: A2A extension method routing via _cleveragents/ prefix
As a CleverAgents developer
I want the A2A local facade to support _cleveragents/ extension methods
So that operations use spec-aligned method names per ADR-047
Scenario: Facade supports all _cleveragents/ extension operations
Given a facade instance for extension method testing
Then the facade should support _cleveragents/plan/ methods
And the facade should support _cleveragents/registry/ methods
And the facade should support _cleveragents/context/ methods
And the facade should support _cleveragents/health/ methods
And the facade should support _cleveragents/sync/ methods
And the facade should support _cleveragents/namespace/ methods
Scenario: Plan use via _cleveragents/plan/use
Given a facade instance for extension method testing
When I dispatch "_cleveragents/plan/use" with params {"action_name": "test"}
Then the response should be ok
And the response data should contain key "plan_id"
Scenario: Plan execute via _cleveragents/plan/execute
Given a facade instance for extension method testing
When I dispatch "_cleveragents/plan/execute" with params {"plan_id": "test-id"}
Then the response should be ok
Scenario: Plan cancel via _cleveragents/plan/cancel
Given a facade instance for extension method testing
When I dispatch "_cleveragents/plan/cancel" with params {"plan_id": "test-id"}
Then the response should be ok
Scenario: Plan list via _cleveragents/plan/list
Given a facade instance for extension method testing
When I dispatch "_cleveragents/plan/list" with params {}
Then the response should be ok
And the response data should contain key "plans"
Scenario: Health check via _cleveragents/health/check
Given a facade instance for extension method testing
When I dispatch "_cleveragents/health/check" with params {}
Then the response should be ok
And the response data should contain key "status"
Scenario: Sync stub returns not_implemented
Given a facade instance for extension method testing
When I dispatch "_cleveragents/sync/pull" with params {}
Then the response should be ok
And the response data should have "stub" set to true
Scenario: Namespace stub returns not_implemented
Given a facade instance for extension method testing
When I dispatch "_cleveragents/namespace/list" with params {}
Then the response should be ok
And the response data should have "stub" set to true
Scenario: Legacy operation names still work
Given a facade instance for extension method testing
When I dispatch "plan.create" with params {"action_name": "test"}
Then the response should be ok
And the response data should contain key "plan_id"
Scenario: Registry tool list via extension method
Given a facade instance for extension method testing
When I dispatch "_cleveragents/registry/tool/list" with params {}
Then the response should be ok
And the response data should contain key "tools"