# Advanced Concepts: Resource Types & A2A Rename (v3.6.0)

> **Milestone:** v3.6.0 — M7: Advanced Concepts & Deferred Features
> **Parent:** [Advanced Concepts Overview](index.md)

---

## Additional Resource Types

v3.6.0 extends the resource type system (ADR-008, ADR-036, ADR-039, ADR-042) with new
resource types for cloud infrastructure, databases, and virtual/composite resources.

### Cloud Infrastructure Resources

| Type | Description | Key Properties |
|------|-------------|----------------|
| `aws-s3-bucket` | Amazon S3 bucket | `bucket_name`, `region`, `prefix` |
| `aws-lambda-function` | AWS Lambda function | `function_name`, `region`, `runtime` |
| `gcp-storage-bucket` | Google Cloud Storage bucket | `bucket_name`, `project_id` |
| `azure-blob-container` | Azure Blob Storage container | `account_name`, `container_name` |
| `terraform-workspace` | Terraform workspace (state + config) | `workspace_dir`, `backend_type` |
| `pulumi-stack` | Pulumi stack | `stack_name`, `project_dir` |

### Database Resources

| Type | Description | Key Properties |
|------|-------------|----------------|
| `postgres-schema` | PostgreSQL schema (tables, views, functions) | `connection_string`, `schema_name` |
| `mysql-database` | MySQL database | `connection_string`, `database_name` |
| `sqlite-file` | SQLite database file | `file_path` |
| `mongodb-collection` | MongoDB collection | `connection_string`, `database`, `collection` |
| `redis-keyspace` | Redis keyspace | `connection_string`, `key_prefix` |

### Virtual Resource Types

Virtual resources do not correspond to a physical storage location — they are computed
aggregates or logical groupings:

| Type | Description |
|------|-------------|
| `virtual-aggregate` | A named union of other resources, treated as a single context source |
| `virtual-diff` | The diff between two resource snapshots (e.g., before/after a plan apply) |
| `virtual-search-index` | A pre-built semantic search index over a set of resources |
| `virtual-dependency-graph` | The dependency graph of a codebase (imports, calls, inheritance) |

### Resource Type Inheritance

The resource type inheritance system (ADR-042) allows custom resource types to extend built-in
types. v3.6.0 adds the `@extends` directive in resource YAML:

```yaml
type: my-org/custom-git-repo
extends: git-checkout
properties:
  ci_config_path:
    type: string
    default: ".github/workflows"
  deploy_branch:
    type: string
    default: "main"
```

---

## ACP to A2A Module Rename and Symbol Standardization

v3.6.0 completes the rename of the internal `acp` module to `a2a`, aligning the codebase with
the adopted A2A standard (ADR-047).

### What Changed

| Before (ACP) | After (A2A) |
|-------------|------------|
| `cleveragents.acp` | `cleveragents.a2a` |
| `AcpClient` | `A2AClient` |
| `AcpMessage` | `A2AMessage` |
| `AcpTask` | `A2ATask` |
| `AcpEvent` | `A2AEvent` |
| `acp_server_url` config key | `a2a_server_url` config key |

### Migration Guide

Existing code that imports from `cleveragents.acp` will continue to work via a compatibility
shim until v4.0.0. A deprecation warning is emitted on first import. To migrate:

```python
# Before
from cleveragents.acp import AcpClient, AcpMessage

# After
from cleveragents.a2a import A2AClient, A2AMessage
```

The CLI commands are unaffected — they use the public API which was already A2A-named.

---

## Related ADRs

| 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-042](../adr/ADR-042-resource-type-inheritance.md) | Resource Type Inheritance | Custom resource type extensions |
| [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*
