Files
acdl/modules-ir
Jon Chery 3508671377 refactor(modules): remove thin-composition layer; rewrite all module READMEs
The L2 thin-composition layer (composition.json + contract_resolver.py +
contract schema + sample contracts) has been removed completely. The
implementation was unsatisfactory and is deferred for a later redesign.

- Delete: composition.json x2, contract_resolver.py, contracts/ x2,
  contract.schema.json
- Patch: run_platform.sh now loads a pre-existing IR instance instead of
  resolving a contract (the downstream adapter/checkov/confidence/outbox
  pipeline is unchanged)
- Prune: L2 entries removed from registry.json (L1 entries unchanged)
- Rewrite: all 7 L1 module READMEs in plain language (no jargon), each
  with Resources/Inputs/Outputs/Usage/Compliance-extension-points/Versioning
  sections derived from interface.json
- Add: 2 L2 placeholder READMEs noting the composition is under redesign
- Add: modules-ir/README.md catalog index + README-TEMPLATE.md

---ci---
project: acdl
phase: 17
milestone: v1.3
status: execute
---/ci---
2026-07-22 13:54:40 +00:00
..

ACDL Modules

Reusable building blocks for cloud infrastructure. Each module is self-documented with a README.md following the template.

How the modules work

There are two kinds of module:

  • L1 primitives — a single cloud resource or a small group of related resources (e.g. a VPC with subnets and routing). Each L1 has an interface.json declaring its inputs and outputs, and a README.md in plain language.
  • L2 compositions — a composition that references multiple L1s to deploy a complete stack (e.g. an ECS Fargate microservice). The L2 composition layer is being redesigned. The previous implementation has been removed; a new mechanism will be designed in a later phase.

The Terraform adapter (adapters/terraform/adapter.py) compiles a module instance to Terraform. Each module's README documents which Terraform resources it creates.

L1 primitives

Module What it creates README
l1-s3 aws_s3_bucket — a single S3 bucket README
l1-vpc aws_vpc + aws_subnet + aws_route_table + aws_internet_gateway — VPC with subnets and routing README
l1-ecs-cluster aws_ecs_cluster — ECS Fargate cluster README
l1-ecs-service aws_ecs_task_definition + aws_ecs_service — Fargate service with task definition README
l1-iam-role aws_iam_role — IAM role with assume-role policy README
l1-alb aws_lb + aws_lb_target_group + aws_lb_listener — Application Load Balancer README
l1-ecr aws_ecr_repository — ECR container image repository README

L2 compositions

Module What it references README
l2-microservice 6 L1s (vpc, cluster, ecr, iam-role, alb, ecs-service) — under redesign README
l2-static-asset 1 L1 (s3) — under redesign README

Registry

Module versions are tracked in registry.json. Only L1 entries are active; L2 entries have been pruned pending the composition redesign.

Template

New modules should use README-TEMPLATE.md as their starting point.