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 phase: P63
name: l2-lifecycle-pipeline-live-run name: regression-registry-cost-docs
milestone: v1.11 milestone: v1.11
requirements: [REQ-128] requirements: [REQ-119, REQ-121]
wave: 3 wave: 4
depends_on: [P61] depends_on: [P62]
--- ---
# P62L2 Lifecycle Pipeline (Live Run) # P63Regression Registry + Cost Docs
**Phase:** P62 **Phase:** P63
**Milestone:** v1.11 (RESTART) **Milestone:** v1.11 (RESTART)
**Requirement:** REQ-128 (shared with P61) **Requirements:** REQ-119 (COST.md), REQ-121 (CAP-017..022 in regression registry)
**Wave:** 3 (P61 authored the L2 pipeline, P62 runs it live) **Wave:** 4 (closing G-005/G-008)
**Branch:** `milestone/v1.11-restart` **Branch:** `milestone/v1.11-restart`
## Goal ## Goal
Run the L2 lifecycle pipeline against live AWS; fix composition wiring + 1. Add CAP-017..022 to `core/regression_verify.py` registry. Evidence =
adapter assembly until green. This replaces the deleted "lifecycle pipeline green" (not boto3 probes, which are IAM-gated).
`verify_deploy_microservice.py` — the pipeline IS the verify. CAP-017..022 This closes G-005.
boto3 probes are deferred to a future QA milestone. Fixes land in 2. Author `.ciagent/COST.md` documenting the v1.0→v1.10 AWS spend window
`modules/l2/<module>/composition.json`, `modules/l2/<module>/examples/*.yml`, (AWS Cost Explorer query). This closes G-008.
`core/contract_resolver.py`, and rarely the adapter. No new Python files.
## Tasks ## 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, Add 6 new capability checks to `core/regression_verify.py`:
microservice]) run as part of the `acdl-modules-lifecycle` workflow on PR #7. - CAP-017: DynamoDB `acdl-contracts` table — evidence = L1 lifecycle
Each cell: apply simple → modify complex → destroy. 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 ### Task 2 — Author .ciagent/COST.md
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 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 ### Task 3 — Update CAPABILITY_INVENTORY.md
re-applying the same contract produces no changes (idempotent).
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) ## Success Criteria (phase gate)
1. L2 matrix green: static-assets + microservice, each apply→modify→destroy 1. Regression registry includes CAP-017..022 with "lifecycle pipeline
exit 0. **Evidence = green PR check on l2-lifecycle jobs.** green" evidence.
2. Microservice apply creates NO inline VPC (references platform VPC via 2. `COST.md` documents the v1.0→v1.10 spend window.
terraform_remote_state data source). 3. Full offline pytest suite green.
3. Same state key across apply/modify/destroy (deterministic).
4. `patterns-plan.yml` (plan-only) still passes.
5. Full offline pytest suite green.