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:
+48
-37
@@ -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]
|
||||
---
|
||||
|
||||
# P62 — L2 Lifecycle Pipeline (Live Run)
|
||||
# P63 — Regression 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.
|
||||
Reference in New Issue
Block a user