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