# Advanced Concepts: E2E Tests, Code Review Examples & Plugin Architecture (v3.6.0) > **Milestone:** v3.6.0 — M7: Advanced Concepts & Deferred Features > **Parent:** [Advanced Concepts Overview](index.md) --- ## End-to-End Workflow Specification Tests v3.6.0 introduces a new category of tests: **E2E workflow specification tests**. These tests verify complete multi-step workflows from the user's perspective, exercising the full stack from CLI input through plan execution to file output. ### Test Categories | Category | Description | Framework | |----------|-------------|-----------| | `e2e/workflow` | Full plan lifecycle: create to strategize to execute to apply | Robot Framework | | `e2e/multi-project` | Workflows spanning multiple projects | Robot Framework | | `e2e/provider` | Provider-specific behavior (rate limits, fallback, cost tracking) | Behave | | `e2e/safety` | Safety profile enforcement under various conditions | Behave | | `e2e/budget` | Budget enforcement and plan pause/resume | Behave | ### Running E2E Tests ```bash nox -s e2e # Run all E2E tests nox -s e2e -- --tags workflow # Run only workflow tests nox -s e2e -- --tags provider # Run only provider tests ``` E2E tests require a configured LLM provider. Set `E2E_PROVIDER=anthropic` (or another supported provider) in your environment before running. --- ## Code Review Tool Examples v3.6.0 ships a set of example actors and skills specifically designed for code review workflows. These serve as both functional tools and reference implementations for the actor and skill systems. ### Included Examples | Example | Location | Description | |---------|----------|-------------| | `code-reviewer` | `examples/actors/code-reviewer.yaml` | Full code review actor with diff analysis, style checking, and security scanning | | `pr-summarizer` | `examples/actors/pr-summarizer.yaml` | Summarizes pull request changes for review | | `test-generator` | `examples/actors/test-generator.yaml` | Generates BDD test scenarios from source code | | `doc-writer` | `examples/actors/doc-writer.yaml` | Generates and updates documentation from code | | `security-scanner` | `examples/skills/security-scanner.yaml` | Skill that runs security analysis tools | | `style-checker` | `examples/skills/style-checker.yaml` | Skill that runs linting and formatting checks | ### Using the Code Reviewer ```bash # Register the example actor agents actor register examples/actors/code-reviewer.yaml # Create a code review plan agents plan use code-review \ --project local/my-project \ --arg diff_source=git \ --arg base_branch=main ``` --- ## Plugin Architecture Extensions v3.6.0 formalizes and extends the plugin architecture, making it easier to add custom resource types, tool executors, scope resolvers, and LLM providers. ### Plugin Entry Points Plugins are registered via Python package entry points: ```toml # pyproject.toml [project.entry-points."cleveragents.plugins"] my-plugin = "my_package.plugin:MyPlugin" [project.entry-points."cleveragents.resource_types"] my-resource = "my_package.resources:MyResourceType" [project.entry-points."cleveragents.tool_executors"] my-executor = "my_package.executors:MyToolExecutor" [project.entry-points."cleveragents.scope_resolvers"] my-resolver = "my_package.resolvers:MyScopeResolver" [project.entry-points."cleveragents.providers"] my-provider = "my_package.providers:MyLLMProvider" ``` ### Plugin Security The `PluginLoader` (hardened in v3.5.0) enforces: - **Module allowlist** — only modules from registered, trusted packages may be loaded - **Entry point validation** — entry point targets are parsed and validated before import - **Sandbox isolation** — plugins run in a restricted execution environment - **Capability declaration** — plugins must declare their required capabilities at registration See ADR-037 (Tool Reachability & Access Projection) for the full security model. ### Plugin Development Guide A plugin development guide is available at `docs/development/plugin-development.md` (added in v3.6.0). It covers: 1. Creating a minimal plugin package 2. Registering resource types, tool executors, and scope resolvers 3. Testing plugins with the CleverAgents test harness 4. Publishing plugins to PyPI --- ## Related ADRs The following Architecture Decision Records are directly relevant to v3.6.0 features: | ADR | Title | Relevance | |-----|-------|-----------| | [ADR-008](../adr/ADR-008-resource-system.md) | Resource System | Foundation for additional resource types | | [ADR-036](../adr/ADR-036-resource-dag-operational-semantics.md) | Resource DAG Operational Semantics | DAG model for new resource types | | [ADR-039](../adr/ADR-039-container-resource-types.md) | Container Resource Types | Container tool execution | | [ADR-041](../adr/ADR-041-safety-profile-extraction.md) | Safety Profile Extraction | Safety profiles and cost budgets | | [ADR-042](../adr/ADR-042-resource-type-inheritance.md) | Resource Type Inheritance | Custom resource type extensions | | [ADR-043](../adr/ADR-043-devcontainer-integration.md) | Devcontainer Integration | Devcontainer tool execution | | [ADR-047](../adr/ADR-047-acp-standard-adoption.md) | A2A Standard Adoption | ACP to A2A rename | --- *Documentation for v3.6.0 — IN PROGRESS. Features described here reflect the planned scope as of 2026-04-15. Some features may be adjusted as implementation progresses.* *Generated by [AUTO-DOCS-5] — CleverAgents Documentation Bot*