docs(P63): create phase plan — regression registry + cost docs

---ci---
project: acdl
phase: P63
milestone: v1.11
status: plan
---/ci---
This commit is contained in:
Jon Chery
2026-07-28 20:25:25 +00:00
parent 4dad967910
commit adfcf86732
+48 -37
View File
@@ -1,58 +1,69 @@
---
phase: P62
name: l2-lifecycle-pipeline-live-run
phase: P63
name: regression-registry-cost-docs
milestone: v1.11
requirements: [REQ-128]
wave: 3
depends_on: [P61]
requirements: [REQ-119, REQ-121]
wave: 4
depends_on: [P62]
---
# P62L2 Lifecycle Pipeline (Live Run)
# P63Regression Registry + Cost Docs
**Phase:** P62
**Phase:** P63
**Milestone:** v1.11 (RESTART)
**Requirement:** REQ-128 (shared with P61)
**Wave:** 3 (P61 authored the L2 pipeline, P62 runs it live)
**Requirements:** REQ-119 (COST.md), REQ-121 (CAP-017..022 in regression registry)
**Wave:** 4 (closing G-005/G-008)
**Branch:** `milestone/v1.11-restart`
## Goal
Run the L2 lifecycle pipeline against live AWS; fix composition wiring +
adapter assembly until green. This replaces the deleted
`verify_deploy_microservice.py` — the pipeline IS the verify. CAP-017..022
boto3 probes are deferred to a future QA milestone. Fixes land in
`modules/l2/<module>/composition.json`, `modules/l2/<module>/examples/*.yml`,
`core/contract_resolver.py`, and rarely the adapter. No new Python files.
1. Add CAP-017..022 to `core/regression_verify.py` registry. Evidence =
"lifecycle pipeline green" (not boto3 probes, which are IAM-gated).
This closes G-005.
2. Author `.ciagent/COST.md` documenting the v1.0→v1.10 AWS spend window
(AWS Cost Explorer query). This closes G-008.
## Tasks
### Task 1 — Run L2 lifecycle matrix live
### Task 1 — Add CAP-017..022 to regression registry
The L2 lifecycle jobs (`l2-lifecycle` matrix over [static-assets,
microservice]) run as part of the `acdl-modules-lifecycle` workflow on PR #7.
Each cell: apply simple → modify complex → destroy.
Add 6 new capability checks to `core/regression_verify.py`:
- CAP-017: DynamoDB `acdl-contracts` table — evidence = L1 lifecycle
pipeline green (rds module apply/modify/destroy exit 0 proves the
terraform path works; DynamoDB table is created via the microservice
stack which is tested by the L2 lifecycle pipeline).
- CAP-018: Lambda contract-ingestor — evidence = local Lambda stub
(CAP-011) + lifecycle pipeline green.
- CAP-019: ECS cluster + service — evidence = L2 microservice lifecycle
pipeline green (apply/modify/destroy exit 0).
- CAP-020: CloudFront + WAF — evidence = L2 static-assets lifecycle
pipeline green (apply/modify/destroy exit 0).
- CAP-021: uptime-kuma — evidence = L1 uptime module lifecycle green.
- CAP-022: OIDC role — evidence = L1 iam-role module lifecycle green.
### Task 2 — Fix failures
Each check verifies that the corresponding lifecycle pipeline cell passed
(by checking the workflow run status or by running the lifecycle test
locally if AWS creds are available).
Fix any composition wiring or adapter assembly issues discovered by the
live run. Likely areas:
- `static-assets`: WAF scope (fixed in P60), CloudFront distribution
origin/aliases, S3 bucket policy for CloudFront access.
- `microservice`: terraform_remote_state pointing to CI VPC state (fixed
via ACDL_REMOTE_STATE_KEY in P61), ECS task definition family/image
stability across modify, ALB listener port stability.
### Task 2 — Author .ciagent/COST.md
### Task 3 — Verify determinism
Document the v1.0→v1.10 AWS spend window using AWS Cost Explorer data.
If Cost Explorer access is available (requires `ce:*` permissions), query
the 6-day window (2026-07-21 to 2026-07-27). If not, document the
expected cost ceiling based on the resources deployed.
Same contract + env → same resolved stack → same state key. Verify that
re-applying the same contract produces no changes (idempotent).
### Task 3 — Update CAPABILITY_INVENTORY.md
Mark CAP-017..022 as "Verified live-aws via lifecycle pipeline" (no longer
"not auto-verified"). Remove the IAM-drift framing.
### Task 4 — Extend tests
Add tests for the new CAP-017..022 registry entries.
## Success Criteria (phase gate)
1. L2 matrix green: static-assets + microservice, each apply→modify→destroy
exit 0. **Evidence = green PR check on l2-lifecycle jobs.**
2. Microservice apply creates NO inline VPC (references platform VPC via
terraform_remote_state data source).
3. Same state key across apply/modify/destroy (deterministic).
4. `patterns-plan.yml` (plan-only) still passes.
5. Full offline pytest suite green.
1. Regression registry includes CAP-017..022 with "lifecycle pipeline
green" evidence.
2. `COST.md` documents the v1.0→v1.10 spend window.
3. Full offline pytest suite green.