From adfcf8673219233ae568d7259474f11e8f92625d Mon Sep 17 00:00:00 2001 From: Jon Chery Date: Tue, 28 Jul 2026 20:25:25 +0000 Subject: [PATCH] =?UTF-8?q?docs(P63):=20create=20phase=20plan=20=E2=80=94?= =?UTF-8?q?=20regression=20registry=20+=20cost=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ---ci--- project: acdl phase: P63 milestone: v1.11 status: plan ---/ci--- --- .ciagent/PLAN.md | 85 +++++++++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 37 deletions(-) diff --git a/.ciagent/PLAN.md b/.ciagent/PLAN.md index dbca869..9dbccdb 100644 --- a/.ciagent/PLAN.md +++ b/.ciagent/PLAN.md @@ -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//composition.json`, `modules/l2//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. \ No newline at end of file +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. \ No newline at end of file