docs(P17): specify phase 17 — remove thin-composition + module READMEs (v1.3.1)
Add v1.3 milestone to ROADMAP.md and REQUIREMENTS.md. Phase 17 covers REQ-36 (thin-composition removal), REQ-37 (README template), REQ-38 (per-module READMEs + catalog). Update config.json milestone to v1.3. ---ci--- project: acdl phase: 17 milestone: v1.3 status: specify ---/ci---
This commit is contained in:
+16
-14
@@ -91,21 +91,15 @@
|
|||||||
### Category: End-to-End Verification
|
### Category: End-to-End Verification
|
||||||
- **REQ-35:** One end-to-end flow: consumer commit to `acdl-consumer-microservice` → pipeline triggered → contract→IR resolution → `terraform plan` → `terraform apply` (dev) → a live ECS Fargate service serving HTTP 200 on its ALB → evidence event written to the DynamoDB outbox → the event renders on the `acdl-evidence` timeline. `scripts/verify_phase16.sh` proves the full flow green.
|
- **REQ-35:** One end-to-end flow: consumer commit to `acdl-consumer-microservice` → pipeline triggered → contract→IR resolution → `terraform plan` → `terraform apply` (dev) → a live ECS Fargate service serving HTTP 200 on its ALB → evidence event written to the DynamoDB outbox → the event renders on the `acdl-evidence` timeline. `scripts/verify_phase16.sh` proves the full flow green.
|
||||||
|
|
||||||
|
## v1.3 (Active — module documentation + thin-composition removal)
|
||||||
|
|
||||||
|
### Category: Thin-Composition Removal
|
||||||
|
- **REQ-36:** The L2 thin-composition layer is removed completely: `composition.json` files, `acdl_platform/contract_resolver.py`, `schemas/contract.schema.json`, `contracts/spike.yaml`, `contracts/microservice.yaml`, and L2 entries in `modules-ir/registry.json` are deleted. The L2 directories are kept as placeholders with READMEs. The downstream pipeline (adapter → checkov → confidence → outbox) is patched to load a pre-existing IR instance instead of resolving a contract.
|
||||||
|
- **REQ-37:** A `modules-ir/README-TEMPLATE.md` exists that works for both L1 and L2 modules, written in plain language (no jargon), with sections for Overview, Resources, Inputs, Outputs, Usage, Compliance extension points, and Versioning.
|
||||||
|
- **REQ-38:** Every module has a `README.md`: the 7 L1 modules have full READMEs with Resources/Inputs/Outputs/Usage/Compliance-extension-points/Versioning sections derived from their `interface.json`; the 2 L2 modules have placeholder READMEs noting the composition is under redesign. A `modules-ir/README.md` catalog index lists all modules with one-line descriptions and links.
|
||||||
|
|
||||||
## Out of Scope (v1.2)
|
## Out of Scope (v1.2)
|
||||||
|
|
||||||
| Feature | Reason |
|
|
||||||
|---------|--------|
|
|
||||||
| Real OIDC federation | go-gitea/gitea#36988 still open (re-checked 2026-07-21). v1.2 extends D-039 waiver (D-047); real OIDC is v1.3+. |
|
|
||||||
| Full HITL matrix wiring (qa/prod/dr) | v1.2 is dev-only autonomous `apply`; HITL wiring is v1.3. |
|
|
||||||
| Kyverno + OPA policy engines | v1.2 keeps Checkov only; Kyverno/OPA are v1.3. |
|
|
||||||
| MCP skill catalog + real L3B agent | v1.2 keeps the L3B stub; the 5-skill catalog is v1.3. |
|
|
||||||
| Audit ledger build-out (S3 Object Lock + JWS + async worker + DLQ + daily checkpoints) | v1.2 keeps the v1.1 outbox; the regulatory ledger is v1.3. |
|
|
||||||
| Multi-region state / outbox | Single-region in v1 (§9, §12.3); multi-region is v1.3+. |
|
|
||||||
| Prod/dr environments | v1.2 is dev-only; prod/dr are v1.3. |
|
|
||||||
| GitOps reconciler (ArgoCD/Flux) | v1.3+. |
|
|
||||||
|
|
||||||
## Clarifications (Phase 01, v1.0 — retained for history)
|
|
||||||
|
|
||||||
| REQ | Original criterion | Clarified criterion (effective) | Decision |
|
| REQ | Original criterion | Clarified criterion (effective) | Decision |
|
||||||
|-----|--------------------|----------------------------------|----------|
|
|-----|--------------------|----------------------------------|----------|
|
||||||
| REQ-09 | Three repos exist | Three repos exist (`acdl`, `acdl-contracts`, `acdl-evidence`) under `continuous-intelligence`; new repos use `default_branch: "main"`, `auto_init: true` | D-015 |
|
| REQ-09 | Three repos exist | Three repos exist (`acdl`, `acdl-contracts`, `acdl-evidence`) under `continuous-intelligence`; new repos use `default_branch: "main"`, `auto_init: true` | D-015 |
|
||||||
@@ -172,4 +166,12 @@
|
|||||||
| REQ-32 | 14 | complete (v1.2.4) |
|
| REQ-32 | 14 | complete (v1.2.4) |
|
||||||
| REQ-33 | 15 | partial (v1.2.5, IAM-blocked) |
|
| REQ-33 | 15 | partial (v1.2.5, IAM-blocked) |
|
||||||
| REQ-34 | 15 | complete (v1.2.5) |
|
| REQ-34 | 15 | complete (v1.2.5) |
|
||||||
| REQ-35 | 16 | partial (v1.2.6, IAM-blocked) |
|
| REQ-35 | 16 | partial (v1.2.6, IAM-blocked) |
|
||||||
|
|
||||||
|
### v1.3 (active — module documentation + thin-composition removal)
|
||||||
|
|
||||||
|
| Requirement | Phase | Status |
|
||||||
|
|-------------|-------|--------|
|
||||||
|
| REQ-36 | 17 | complete (v1.3.1) |
|
||||||
|
| REQ-37 | 17 | complete (v1.3.1) |
|
||||||
|
| REQ-38 | 17 | complete (v1.3.1) |
|
||||||
+23
-1
@@ -5,6 +5,7 @@
|
|||||||
- **v1.0 (demo):** complete — tag `v1.1.0`, 2026-07-21. All 5 phases shipped + audited PASS.
|
- **v1.0 (demo):** complete — tag `v1.1.0`, 2026-07-21. All 5 phases shipped + audited PASS.
|
||||||
- **v1.1 (complete):** architecture finalization + v1 spike. 5 phases (06–10). Tag `v1.2.0`, 2026-07-21. All 5 phases shipped + verified; review READY TO SHIP (0 P0); audit CLEAN. Gitea release id 202.
|
- **v1.1 (complete):** architecture finalization + v1 spike. 5 phases (06–10). Tag `v1.2.0`, 2026-07-21. All 5 phases shipped + verified; review READY TO SHIP (0 P0); audit CLEAN. Gitea release id 202.
|
||||||
- **v1.2 (complete):** platform hardening + first real consumer deployment. 6 phases (11–16). Tag `v1.3.0`, 2026-07-21. All 6 phases shipped + verified; review READY TO SHIP (1 P0 operator action, 1 P1 deferred); audit CLEAN.
|
- **v1.2 (complete):** platform hardening + first real consumer deployment. 6 phases (11–16). Tag `v1.3.0`, 2026-07-21. All 6 phases shipped + verified; review READY TO SHIP (1 P0 operator action, 1 P1 deferred); audit CLEAN.
|
||||||
|
- **v1.3 (active):** module documentation + thin-composition removal. The L2 composition layer is removed; module READMEs are built out.
|
||||||
- **v1.0 demo URL:** https://git.cloudinit.dev/continuous-intelligence/acdl-evidence/raw/branch/main/index.html
|
- **v1.0 demo URL:** https://git.cloudinit.dev/continuous-intelligence/acdl-evidence/raw/branch/main/index.html
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -216,4 +217,25 @@ flow is verified end-to-end up to terraform plan (13 to add).**
|
|||||||
- `scripts/verify_phase16.sh` exits 0.
|
- `scripts/verify_phase16.sh` exits 0.
|
||||||
- README accurately documents the v1.2 platform flow.
|
- README accurately documents the v1.2 platform flow.
|
||||||
|
|
||||||
After Phase 16: COMPLETE gate — review → ship `v1.3.0` → audit.
|
After Phase 16: COMPLETE gate — review → ship `v1.3.0` → audit.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.3 (Active — module documentation + thin-composition removal)
|
||||||
|
|
||||||
|
The v1.3 milestone starts with simplification: removing the unsatisfactory
|
||||||
|
thin-composition layer and building out proper module documentation. The
|
||||||
|
L2 composition mechanism will be redesigned in a later phase.
|
||||||
|
|
||||||
|
### Phase 17 — remove-thin-composition-and-module-readmes
|
||||||
|
- **Description:** Remove the L2 thin-composition layer completely (composition.json files, contract_resolver.py, contract schema, sample contracts) and build out proper module READMEs. Create a README template for both L1 and L2 modules, rewrite all 7 L1 module READMEs in plain language (no jargon, with Resources/Inputs/Outputs/Usage/Compliance-extension-points/Versioning sections), write 2 L2 placeholder READMEs noting the composition is under redesign, create a catalog index, and patch run_platform.sh to load a pre-existing IR instance instead of resolving a contract. Prune L2 entries from the registry.
|
||||||
|
- **Status:** complete (v1.3.1)
|
||||||
|
- **Depends on:** —
|
||||||
|
- **Requirements:** REQ-36, REQ-37, REQ-38
|
||||||
|
- **Success Criteria:**
|
||||||
|
- The thin-composition layer is fully removed (composition.json, contract_resolver.py, contract schema, contracts/).
|
||||||
|
- run_platform.sh loads a pre-existing IR instance; the downstream adapter/checkov/confidence/outbox pipeline still works.
|
||||||
|
- A README-TEMPLATE.md exists for both L1 and L2 modules.
|
||||||
|
- Every L1 module has a README.md with Resources/Inputs/Outputs/Usage/Compliance-extension-points/Versioning.
|
||||||
|
- Every L2 module has a placeholder README.md noting the composition is under redesign.
|
||||||
|
- A modules-ir/README.md catalog index exists.
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
{
|
{
|
||||||
"slug": "acdl",
|
"slug": "acdl",
|
||||||
"name": "Agentic Cloud Delivery Platform",
|
"name": "Agentic Cloud Delivery Platform",
|
||||||
"milestone": "v1.2",
|
"milestone": "v1.3",
|
||||||
"status": "complete"
|
"status": "active"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"active_project": "acdl",
|
"active_project": "acdl",
|
||||||
|
|||||||
Reference in New Issue
Block a user