Tests (Robot): Add missing Robot Framework integration test for the application module #2789

Closed
opened 2026-04-04 19:36:03 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: test/application-robot-integration
  • Commit Message: test(application): add Robot Framework integration test suite for application module
  • Milestone: v3.7.0
  • Parent Epic: #933

Background and Context

The src/cleveragents/application/ module is the Application Layer of the CleverAgents platform — the business logic and workflow orchestration layer that sits between the Presentation (CLI/A2A) and Domain layers. Per the project specification (ADR-003, §Architecture), this layer is responsible for workflow orchestration (62 workflows), use-case implementations, transaction coordination, and business process management.

The module contains the following key sub-systems and public classes (confirmed via source inspection):

  • containerApplicationContainer (dependency-injector-based DI container wiring all application services)
  • reactive_registry_adapterregister_registry_agents (adapter loading actors into the reactive stream router and route bridge)
  • services/plan_lifecycle_servicePlanLifecycleService (four-phase plan lifecycle: Action → Strategize → Execute → Apply, with phase-transition enforcement and dual-mode persistence)
  • services/plan_servicePlanService (plan CRUD and query operations)
  • services/session_servicePersistentSessionService (session persistence and lifecycle)
  • services/project_serviceProjectService (project management)
  • services/actor_serviceActorService (actor registration and lookup)
  • services/skill_serviceSkillService (skill registry and invocation)
  • services/context_serviceContextService (context assembly and tier management)
  • services/decision_serviceDecisionService (decision framework integration)
  • services/decomposition_serviceDecompositionService (plan decomposition and clustering)
  • services/correction_serviceCorrectionService (error correction and cross-plan correction)
  • services/acms_serviceACMSPipeline (Advanced Context Management System pipeline)
  • services/resource_registry_serviceResourceRegistryService (resource registry CRUD)
  • services/audit_serviceAuditService (audit event recording)
  • services/autonomy_controllerAutonomyController (autonomy guardrail enforcement)
  • services/checkpoint_serviceCheckpointService (plan checkpoint save/restore)
  • services/config_serviceConfigService (application configuration management)

A scan of /app/robot/ confirms that no .robot file currently targets the application module at the integration level — existing robot tests cover CLI commands, domain models, and infrastructure, but leave the application service layer entirely untested at the Robot Framework integration level.

A companion Behave unit-test issue should exist for the application module; this issue covers the Robot Framework integration layer, which must use real services and dependencies (no mocking permitted per CONTRIBUTING.md).

Subtasks

  • Audit each key application sub-module and identify all integration-level behaviours to be covered
  • Create robot/application.robot with Robot Framework test cases for each identified behaviour, exercising real service invocations
  • Create robot/helper_application.py with the corresponding Python keyword library
  • Cover PlanLifecycleService phase transitions: use_action (Action → Strategize), execute_plan (Strategize → Execute), apply_plan (Execute → Apply), and all terminal outcomes (APPLIED, CONSTRAINED, ERRORED, CANCELLED)
  • Cover PlanLifecycleService invalid phase transition guard (InvalidPhaseTransitionError, ActionNotAvailableError, PlanNotReadyError)
  • Cover PlanService CRUD operations: create, read, update, delete, and list plans
  • Cover PersistentSessionService lifecycle: create, export, import, and delete sessions
  • Cover ProjectService project management: create, list, show, and delete projects
  • Cover ActorService actor registration and lookup
  • Cover SkillService skill registry and invocation
  • Cover ContextService context assembly and tier management
  • Cover ApplicationContainer DI wiring: verify all services are resolvable from the container
  • Cover register_registry_agents adapter: verify actors are correctly registered into the reactive stream router
  • Ensure all test cases use real services — no mocking permitted in integration tests
  • Run nox -e integration_tests locally and confirm all new test cases pass
  • Verify coverage >= 97% via nox -e coverage_report
  • Run nox (all default sessions) and fix any errors

Definition of Done

  • All subtasks above are completed and checked off
  • robot/application.robot exists and covers all public integration-level behaviours of the application module
  • robot/helper_application.py exists with all required keyword implementations
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly (test(application): add Robot Framework integration test suite for application module), 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 (test/application-robot-integration)
  • 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: Unknown | Agent: ca-new-issue-creator

## Metadata - **Branch**: `test/application-robot-integration` - **Commit Message**: `test(application): add Robot Framework integration test suite for application module` - **Milestone**: v3.7.0 - **Parent Epic**: #933 ## Background and Context The `src/cleveragents/application/` module is the **Application Layer** of the CleverAgents platform — the business logic and workflow orchestration layer that sits between the Presentation (CLI/A2A) and Domain layers. Per the project specification (ADR-003, §Architecture), this layer is responsible for workflow orchestration (62 workflows), use-case implementations, transaction coordination, and business process management. The module contains the following key sub-systems and public classes (confirmed via source inspection): - `container` — `ApplicationContainer` (dependency-injector-based DI container wiring all application services) - `reactive_registry_adapter` — `register_registry_agents` (adapter loading actors into the reactive stream router and route bridge) - `services/plan_lifecycle_service` — `PlanLifecycleService` (four-phase plan lifecycle: Action → Strategize → Execute → Apply, with phase-transition enforcement and dual-mode persistence) - `services/plan_service` — `PlanService` (plan CRUD and query operations) - `services/session_service` — `PersistentSessionService` (session persistence and lifecycle) - `services/project_service` — `ProjectService` (project management) - `services/actor_service` — `ActorService` (actor registration and lookup) - `services/skill_service` — `SkillService` (skill registry and invocation) - `services/context_service` — `ContextService` (context assembly and tier management) - `services/decision_service` — `DecisionService` (decision framework integration) - `services/decomposition_service` — `DecompositionService` (plan decomposition and clustering) - `services/correction_service` — `CorrectionService` (error correction and cross-plan correction) - `services/acms_service` — `ACMSPipeline` (Advanced Context Management System pipeline) - `services/resource_registry_service` — `ResourceRegistryService` (resource registry CRUD) - `services/audit_service` — `AuditService` (audit event recording) - `services/autonomy_controller` — `AutonomyController` (autonomy guardrail enforcement) - `services/checkpoint_service` — `CheckpointService` (plan checkpoint save/restore) - `services/config_service` — `ConfigService` (application configuration management) A scan of `/app/robot/` confirms that **no `.robot` file currently targets the `application` module** at the integration level — existing robot tests cover CLI commands, domain models, and infrastructure, but leave the application service layer entirely untested at the Robot Framework integration level. A companion Behave unit-test issue should exist for the `application` module; this issue covers the Robot Framework integration layer, which must use **real services and dependencies** (no mocking permitted per CONTRIBUTING.md). ## Subtasks - [ ] Audit each key `application` sub-module and identify all integration-level behaviours to be covered - [ ] Create `robot/application.robot` with Robot Framework test cases for each identified behaviour, exercising real service invocations - [ ] Create `robot/helper_application.py` with the corresponding Python keyword library - [ ] Cover `PlanLifecycleService` phase transitions: `use_action` (Action → Strategize), `execute_plan` (Strategize → Execute), `apply_plan` (Execute → Apply), and all terminal outcomes (`APPLIED`, `CONSTRAINED`, `ERRORED`, `CANCELLED`) - [ ] Cover `PlanLifecycleService` invalid phase transition guard (`InvalidPhaseTransitionError`, `ActionNotAvailableError`, `PlanNotReadyError`) - [ ] Cover `PlanService` CRUD operations: create, read, update, delete, and list plans - [ ] Cover `PersistentSessionService` lifecycle: create, export, import, and delete sessions - [ ] Cover `ProjectService` project management: create, list, show, and delete projects - [ ] Cover `ActorService` actor registration and lookup - [ ] Cover `SkillService` skill registry and invocation - [ ] Cover `ContextService` context assembly and tier management - [ ] Cover `ApplicationContainer` DI wiring: verify all services are resolvable from the container - [ ] Cover `register_registry_agents` adapter: verify actors are correctly registered into the reactive stream router - [ ] Ensure all test cases use real services — no mocking permitted in integration tests - [ ] Run `nox -e integration_tests` locally and confirm all new test cases pass - [ ] Verify coverage >= 97% via `nox -e coverage_report` - [ ] Run `nox` (all default sessions) and fix any errors ## Definition of Done - [ ] All subtasks above are completed and checked off - [ ] `robot/application.robot` exists and covers all public integration-level behaviours of the `application` module - [ ] `robot/helper_application.py` exists with all required keyword implementations - [ ] A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly (`test(application): add Robot Framework integration test suite for application module`), 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 (`test/application-robot-integration`) - [ ] 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: Unknown | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-04 19:36:09 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified | MoSCoW: Should Have — Missing Robot Framework integration test for the application module.

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

Issue triaged by project owner: - **State**: Verified | **MoSCoW**: Should Have — Missing Robot Framework integration test for the application module. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Owner

State label reconciliation:

  • Corrected to: State/Completed
  • Reason: Issue is closed but had a non-terminal state label (State/In Review, State/Verified, or State/In Progress). CONTRIBUTING.md requires closed issues to have State/Completed or State/Wont Do.

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

State label reconciliation: - Corrected to: `State/Completed` - Reason: Issue is closed but had a non-terminal state label (`State/In Review`, `State/Verified`, or `State/In Progress`). CONTRIBUTING.md requires closed issues to have `State/Completed` or `State/Wont Do`. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#2789
No description provided.