Files
acdl/modules/README-TEMPLATE.md
T
Jon Chery cb02c69e0c docs(P35): module engineering standards + catalog fix + template update (REQ-95, REQ-96)
---ci---
project: acdl
phase: 35
milestone: v1.8
status: execute
---/ci---

- modules/STANDARDS.md: comprehensive L1+L2 authoring + code review
  standards (9 sections: L1 standards, L2 standards, encryption by default,
  deletion protection by default, registry, README standards, adapter
  extension pattern, code review checklist).
- modules/README.md: catalog index fixed — rds, kms-key, uptime added
  to the Primitives table.
- modules/README-TEMPLATE.md: NFRs section added between Outputs and Usage.
- tests/test_module_standards.py: automated enforcement test (12 tests)
  validating required files, NFRs, registration, README sections.

Tests: +12 (332 -> 344). All pass.
2026-07-22 22:20:50 +00:00

62 lines
1.9 KiB
Markdown

# <module-name> — <plain-language description>
> **Module kind:** primitive | **Version:** 1.0.0
## Overview
One or two sentences describing what this module provisions, in plain
language. No jargon. A reader should know after this paragraph whether
this module is what they need.
## Resources
Terraform resources this module creates:
| Resource | Type | Purpose |
|----------|------|---------|
| `<name>` | `aws_<type>` | what it does |
## Inputs
| Name | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| `<name>` | string | yes | — | description |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| `<name>` | string | description |
## NFRs
Non-functional requirements declared by the module's interface. Every
L1 primitive MUST declare `deletion_protection` and `encryption_enabled`
(both boolean, default `true`); they are mandatory NFRs for every L1.
| Name | Type | Default | Description |
|------|------|---------|-------------|
| `deletion_protection` | boolean | true | Prevent resource destruction via Terraform lifecycle prevent_destroy. |
| `encryption_enabled` | boolean | true | Enable encryption (at rest or in transit, as applicable). |
| `<name>` | <type> | <default> | description |
## Usage
```
# A concrete snippet showing how to reference this module or what a
# consumer writes to use it.
```
## Compliance extension points
Resources this module could be extended with for the future compliance
milestone (GDPR, SOX, SOC2, HIPAA, DORA). Not implemented yet — listed
so the redesign can plan for them.
- **<area>** — <what could be added, e.g. KMS key for encryption>
## Versioning
`1.0.0` — interface MAJOR, behavior MINOR, lifecycle PATCH. MAJOR
bumps require a new registry entry (immutable publication); old entries
enter a 12-month deprecation window.