From bcdb51c09005f39930f0537b389fac23d3065990 Mon Sep 17 00:00:00 2001 From: Jon Chery Date: Tue, 28 Jul 2026 12:33:29 +0000 Subject: [PATCH] docs(P56): create v1.11 phase plans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PLAN stage. Wrote the v1.11 milestone (Operating Model + Deploy Verification) into ROADMAP.md + REQUIREMENTS.md + config.json. ROADMAP.md: - v1.11 overview line in the milestone summary. - New "## v1.11" section with 8 phases (56-63) — full descriptions, status, depends-on, requirements, success criteria for each. - Wave ordering: 56 → (57 ‖ 58 ‖ 60) → 59 → 61 → 62 → 63. REQUIREMENTS.md: - 7 new requirement definitions (REQ-116..122) under "IAM + Deploy Verification (v1.11)". - v1.11 traceability table (all pending). - "Out of Scope (v1.11)" — OIDC act_runner adoption, per-phase regression (G-007), audit ledger build-out (D-083), operator-supplied evidence, pilot onboarding (G-001). config.json: active project milestone v1.10 (complete) → v1.11 (active). Versioning: v1.11.0 (feature milestone — Phases 56/57/58/59 are feat; next minor per run.md: v1.10.2 → v1.11.0). Phase 56 is a deploy-class escalation (D-095: escalate to human for fresh access keys if the bootstrap root key is invalid). ---ci--- project: acdl phase: 56 milestone: v1.11 status: plan ---/ci--- --- .ciagent/REQUIREMENTS.md | 32 +++++++++++ .ciagent/ROADMAP.md | 113 +++++++++++++++++++++++++++++++++++++++ .ciagent/config.json | 4 +- 3 files changed, 147 insertions(+), 2 deletions(-) diff --git a/.ciagent/REQUIREMENTS.md b/.ciagent/REQUIREMENTS.md index c350a58..3badc7d 100644 --- a/.ciagent/REQUIREMENTS.md +++ b/.ciagent/REQUIREMENTS.md @@ -278,6 +278,16 @@ ### Category: Verified-Reality Rewrite - **REQ-115:** PROJECT.md, ROADMAP.md, and both leadership decks are rewritten to match `CAPABILITY_INVENTORY.md` exactly. PROJECT.md gains a "Capability Status (Re-Verified 2026-07-27)" section listing every v1.1→v1.8 capability with its Verified tag and the tier(s) tested, plus a decay disclosure: capabilities marked complete in v1.1–v1.8 ran at the time of tagging; as of 2026-07-27 they were not reproducible and were re-verified in v1.10. ROADMAP.md v1.9.x entries note deck-freeze and superseded-by-reverification status. Both leadership decks reflect the re-verified status; any claim that cannot be demonstrated live is removed. HTML is re-rendered; PPTX is uploaded to the v1.10.0 release. Decks are unfrozen only after this lands. `ci-doc-verifier` confirms no stale capability claims remain. v1.10.0 is tagged; the Gitea release is published. +### Category: IAM + Deploy Verification (v1.11) + +- **REQ-116:** Using the bootstrap root key (`ACDL_BOOTSTRAP_AWS_*`), `terraform/bootstrap/spike_runner_policy.json` is extended with the minimum permissions to `terraform apply` + probe CAP-017..022: `cloudfront:*`, `wafv2:*`, `lambda:*` (Function URL + invoke), `dynamodb:*` on `acdl-contracts` + `acdl-change-requests`, `secretsmanager:GetSecretValue` on `acdl/github-token`, `sns:Publish` on `acdl-sod-halt`, `ce:GetCostAndUsage` + `ce:GetCostForecast` (Cost Explorer, for Phase 59). The OIDC act_runner role (CAP-022, gone since Phase 08) is re-created with the trust policy for the Gitea runner ARN. The granted policy is documented in `.ciagent/IAM_POLICY.md` as the new baseline; `tests/test_iam_policy_baseline.py` asserts the required actions are present (regression-testable). If `ACDL_BOOTSTRAP_AWS_*` is invalid (D-034 closed the original root key), the run escalates to human for fresh access keys (D-095) — no silent fallback to deck-marking. The escalation is committed as a `---ci---` block with `escalation` type. +- **REQ-117:** The microservice stack (`terraform/microservice/` + the L2 composition resolved from `contracts/microservice.yml`) is `terraform apply`-ed against account 581513795199 using the re-granted spike-runner. CAP-017 (DynamoDB `acdl-contracts` table describable — `aws dynamodb describe-table --table-name acdl-contracts` returns the table), CAP-018 (Lambda `acdl-contract-ingestor` deployed + invocable — the Function URL is invoked with a sample ingest payload and a real record is confirmed written to `acdl-contracts` via a subsequent query), CAP-019 (ECS cluster + service live — `aws ecs describe-services` shows RUNNING + the ALB DNS returns HTTP 200). Each is tagged Verified (live-aws tier) in `CAPABILITY_INVENTORY.md`. CAP-017/018/019 are added to the regression registry (`core/regression_verify.py`) so the D-091 gate covers them at milestone COMPLETE. +- **REQ-118:** The static-assets stack (resolved from `contracts/static-assets.yml` → adapter → terraform) is `terraform apply`-ed against account 581513795199. CAP-020 (CloudFront distribution reachable — a poll loop hits the distribution DNS every 60s, max 30 min, fail-closed at timeout; WAF ACL attached via `aws wafv2 list-web-acls`; origin returns 200). The uptime-kumo primitive (resolved from `contracts/uptime.yml` or equivalent) is deployed → CAP-021 (monitoring endpoint probeable, alert channels configured). Each is tagged Verified (live-aws tier) in `CAPABILITY_INVENTORY.md`. CAP-020/021 are added to the regression registry. +- **REQ-119:** AWS Cost Explorer (`boto3 ce:GetCostAndUsage`) is queried for account 581513795199 over the v1.0→v1.10 spend window (2026-07-21 → 2026-07-27). `.ciagent/COST.md` is authored with: per-service monthly spend (S3, DynamoDB, ECS+Fargate, CloudFront, Lambda, WAF, KMS, Secrets Manager, SNS), cost drivers, the local-emulator-primary-tier cost-avoidance statement (Phase 53 made local the primary tier; live-AWS is a one-off spike per milestone), and teardown / cost-ceiling guidance for a downstream clone. A deck appendix slide summarizing monthly cost is added. If Cost Explorer access is denied (billing read permission missing), the run escalates to human — no fabrication of spend numbers. +- **REQ-120:** `.ciagent/PRE_MORTEM.md` is authored with two sections: (1) the v1.10 decay incident as a structured post-mortem — root cause (diff-scoped VERIFY never re-ran underlying capability; 8 NFR-patch phases passed while the platform decayed), timeline, impact, mitigation (D-091 regression gate at milestone completion), follow-up (G-007 per-phase regression accepted as debt); (2) a forward pre-mortem for the OSS reference + leadership pitch — top failure modes: (a) IAM drift recurs (mitigation: `IAM_POLICY.md` baseline test in the regression gate), (b) cost spike from un-torn-down stacks (mitigation: D-096 teardown mandatory + `COST.md` ceiling), (c) deck overstates capability (mitigation: `ci-doc-verifier` + Verified-only claims), (d) pilot consumer hits a contract gap (mitigation: `CONSUMER_GUIDE.md` + L2 catalog coverage). Each has a user-owned mitigation. +- **REQ-121:** `CAPABILITY_INVENTORY.md`, `PROJECT.md` §Capability Status, and both leadership decks (`docs/presentations/how-the-platform-works{,-marp,-talking-points}.{md,html}` + `the-developer-experience{,-marp,-talking-points}.{md,html}`) are updated: CAP-017..022 move from "design-verified, deploy-unverified" to Verified (live-aws), with a "Verified live-aws on ; stacks torn down to zero-cost steady state" note (so teardown doesn't invalidate the claim). The IAM-drift framing is removed. The cost appendix slide (Phase 59) + pre-mortem reference (Phase 60) are added. HTML is re-rendered; PPTX is uploaded to the v1.11.0 release. `ci-doc-verifier` confirms no stale "deploy-unverified" claims remain. +- **REQ-122:** The microservice, static-assets, and uptime stacks deployed in Phases 57/58 are torn down via D-070 decommission mode (2-step pipeline with HITL SRE gates + CMDB-validated change request). Change request ID: CHG0680001 (continues the CR format from v1.9.5, incremented). Step 1: disable deletion protection (HITL SRE gate). Step 2: zero counts + `terraform destroy` (HITL SRE gate). The live AWS account returns to the zero-cost steady state that Phase 59 documents. `decommissioned: { stack, cr_id, completed_at }` is recorded in the `---ci---` block. This is a `delete_data`-class escalation per config.json escalation_hooks; the run pauses for SRE approval at each gate. + ## Out of Scope (v1.9) | Feature | Reason | @@ -455,3 +465,25 @@ | REQ-113 | 53 | complete (v1.9.10) | | REQ-114 | 54 | complete (v1.9.11) | | REQ-115 | 55 | complete (v1.9.12) | + +### v1.11 (active — operating model + deploy verification, tag `v1.11.0`) + +| Requirement | Phase | Status | +|-------------|-------|--------| +| REQ-116 | 56 | pending | +| REQ-117 | 57 | pending | +| REQ-118 | 58 | pending | +| REQ-119 | 59 | pending | +| REQ-120 | 60 | pending | +| REQ-121 | 62 | pending | +| REQ-122 | 61 | pending | + +## Out of Scope (v1.11) + +| Feature | Reason | +|---------|--------| +| OIDC act_runner adoption (wiring the re-created role to the runner) | Phase 56 re-creates the IAM role only; act_runner adoption is blocked on go-gitea/gitea#36988 (D-039) and is a later milestone. | +| Per-phase regression runs (G-007) | Accepted debt — the milestone-level D-091 gate remains the control; per-phase regression hardening is a separate future milestone. | +| S3 Object Lock + JWS + async worker + DLQ + daily checkpoints (D-083/REQ-101 audit ledger build-out) | Carries forward from v1.9 Out of Scope; remains a future milestone. | +| Live k6/Gatling load test, live DR drill, live FinOps forecast | Operator-supplied evidence artifacts; not run inline (carries from v1.9). | +| First pilot consumer onboarding (G-001) | Validation moment is the leadership pitch (human-action-dependent); agent prepares handoff artifacts only. | diff --git a/.ciagent/ROADMAP.md b/.ciagent/ROADMAP.md index 1817348..dde1b99 100644 --- a/.ciagent/ROADMAP.md +++ b/.ciagent/ROADMAP.md @@ -22,6 +22,7 @@ - **v1.10 (complete, tag `v1.10.0`):** pipeline regression fix + capability re-verification + verified-reality rewrite. The v1.9.1–v1.9.8 deck work is **superseded-by-reverification**: the decks presented advertised capability as current without disclosing that the platform had decayed (7 adapter defects prevented `terraform init/validate/plan` against live AWS). v1.10 re-verified every advertised capability, fixed all 7 defects in-sweep (D-090: no cap), and rewrote PROJECT/ROADMAP/decks to match verified reality. Decks unfrozen only after Phase 55 lands. See the v1.10 section below for the 4-phase breakdown. - **v1.10.1 (complete, tag `v1.10.1`):** post-v1.10 NFR patch — adversarial grill review (12 challenges, 10 binding decisions, 2 escalations: G-005 risks, G-008 budget), 4-layer verify gate (PASS), multi-persona code review (1 P1 auto-fixed: mis-citation PROJECT.md:6 → PROJECT.md:487). ACDL reclassified as OSS reference implementation (G-003). Docs-only; 518 tests pass; regression gate 16/16 Verified. Gitea release id 236. - **v1.10.2 (complete, tag `v1.10.2`):** contract surface redesign + rename + .yml repo-wide + deck polish. **Breaking contract schema change**: new top-level fields `id` (3-6 char acronym → stack.name), `name` (full → stack.title), `infrastructure` (map keyed by module name, replaces `module:`). Dropped `uses:` (dead reference — version pin lives in CI workflow), top-level `module:`/`inputs:`. Per-module `version` defaults to latest published. Multi-module contracts deploy N modules in one pipeline run with namespaced resource IDs. Rename: `pipelines/deploy.yaml` → `pipelines/contract.yml`. All 44 `.yaml` → `.yml` repo-wide. Deck polish: contract examples updated to new shape, S&P Red/Black/White mermaid theme (all 10 diagrams), GRILL G-005 Verification Coverage block, GRILL G-008 A6 Operating Model & Cost appendix slide, story beat prefix stripped, ACDL spelled out on DX slide 2. Code review: 3 P0 auto-fixed, 2 P1+ flagged. 494 tests pass. Gitea release id 237. +- **v1.11 (active, tag `v1.11.0`):** operating model + deploy verification. Closes the two GRILL escalations blocking the leadership pitch: G-005 (6 IAM-gated cloud capabilities CAP-017..022 deploy-unverified) and G-008 (no cost documentation despite live AWS resources). Phase 56 re-bootstraps IAM (extends `spike_runner_policy.json` with CloudFront/WAF/Lambda/DynamoDB-contracts/SecretsManager/SNS/CE permissions, re-creates the OIDC act_runner role). Phases 57 + 58 `terraform apply` the microservice + static-assets + uptime stacks against account 581513795199 and verify CAP-017..022 live (HTTP 200 from the LB, Lambda ingest returns a real record, CloudFront distribution reachable, WAF ACL attached, uptime endpoint probeable). Phase 59 queries AWS Cost Explorer for the v1.0→v1.10 spend window and authors `.ciagent/COST.md`. Phase 60 authors `.ciagent/PRE_MORTEM.md` (v1.10 decay post-mortem + forward pre-mortem for the OSS reference + leadership pitch). Phase 61 tears down the deployed stacks via D-070 decommission mode (2-step, HITL SRE gates, CR CHG0680001) — live resources do not persist past v1.11 (D-096). Phase 62 rewrites CAPABILITY_INVENTORY.md, PROJECT.md §Capability Status, and both leadership decks: CAP-017..022 → Verified (live-aws), with a "Verified live-aws on ; stacks torn down to zero-cost steady state" note. See the v1.11 section below for the 8-phase breakdown. - **v1.0 demo URL:** https://git.cloudinit.dev/continuous-intelligence/acdl-evidence/raw/branch/main/index.html --- @@ -708,3 +709,115 @@ adapters), D-093 (re-verify v1.1→v1.8; v1.0 demo excluded), D-094 After Phase 55: COMPLETE gate — review → ship `v1.10.0` (next minor; fix/test/docs, not a breaking schema change) → audit. **DONE.** + +--- + +## v1.11 (active — operating model + deploy verification, tag `v1.11.0`) + +The v1.11 milestone closes the two GRILL escalations blocking the +leadership pitch: G-005 (6 IAM-gated cloud capabilities CAP-017..022 +deploy-unverified) and G-008 (no cost documentation despite live AWS +resources). It also adds the missing pre-mortem the grill flagged +(Axis 7 Q4). Ship tag at milestone COMPLETE: **`v1.11.0`** (feature +milestone — Phases 56/57/58/59 are `feat`; next minor per run.md, +v1.10.2 → v1.11.0). Phase 56 escalates for the IAM re-bootstrap +(`deploy`-class escalation per config.json escalation_hooks; D-095: +escalate to human for fresh access keys if `ACDL_BOOTSTRAP_AWS_*` +invalid — no silent fallback to deck-marking). + +User decisions: D-095 (escalate to human for fresh access keys if the +bootstrap root key is invalid), D-096 (teardown mandatory before +milestone COMPLETE; live resources do not persist past v1.11). + +### Phase 56 — iam-re-bootstrap-and-deploy-grant +- **Description:** Using the bootstrap root key (`ACDL_BOOTSTRAP_AWS_*`), extend `terraform/bootstrap/spike_runner_policy.json` with the minimum permissions to `terraform apply` + probe CAP-017..022: `cloudfront:*`, `wafv2:*`, `lambda:*` (Function URL + invoke), `dynamodb:*` on `acdl-contracts` + `acdl-change-requests`, `secretsmanager:GetSecretValue` on `acdl/github-token`, `sns:Publish` on `acdl-sod-halt`, `ce:GetCostAndUsage` + `ce:GetCostForecast` (Cost Explorer, for Phase 59). Re-create the OIDC act_runner role (CAP-022, gone since Phase 08) with the trust policy for the Gitea runner ARN. Document the granted policy in `.ciagent/IAM_POLICY.md` as the new baseline (regression-testable: a test asserts the policy file grants the required actions). **Escalation:** if `ACDL_BOOTSTRAP_AWS_*` is invalid (D-034 closed the original root key), escalate to human for fresh access keys (D-095); the run pauses, no silent fallback. +- **Status:** pending +- **Depends on:** — +- **Requirements:** REQ-116 +- **Success Criteria:** + - `spike_runner_policy.json` grants CloudFront/WAF/Lambda/DynamoDB-contracts/SecretsManager/SNS/CE permissions. + - OIDC act_runner role exists (`iam:ListRoles` shows `acdl*` role); trust policy matches the Gitea runner ARN. + - `.ciagent/IAM_POLICY.md` documents the granted policy; `tests/test_iam_policy_baseline.py` passes (asserts the required actions are present). + - If bootstrap key invalid: escalation committed as a `---ci---` block with `escalation` type; run pauses for human. + +### Phase 57 — live-deploy-verify-microservice +- **Description:** `terraform apply` the microservice stack (terraform/microservice/) against account 581513795199 using the re-granted spike-runner. Verify CAP-017 (DynamoDB `acdl-contracts` table describable — `aws dynamodb describe-table --table-name acdl-contracts`), CAP-018 (Lambda `acdl-contract-ingestor` deployed + invocable — invoke the Function URL with a sample ingest payload, confirm a real record written to `acdl-contracts`), CAP-019 (ECS cluster + service live — `aws ecs describe-services` + HTTP 200 from the ALB DNS). Tag each Verified (live-aws tier) in `CAPABILITY_INVENTORY.md`. Add CAP-017..019 to the regression registry (`core/regression_verify.py`) so the D-091 gate covers them at milestone COMPLETE. +- **Status:** pending +- **Depends on:** [56] +- **Requirements:** REQ-117 +- **Success Criteria:** + - `terraform apply` microservice succeeds; 14 resources added. + - CAP-017/018/019 tagged Verified (live-aws) in `CAPABILITY_INVENTORY.md`. + - Lambda ingest writes a real record to `acdl-contracts` (query confirms). + - ALB DNS returns HTTP 200. + - `core/regression_verify.py` includes CAP-017/018/019 checks. + +### Phase 58 — live-deploy-verify-static-assets-uptime +- **Description:** `terraform apply` the static-assets stack (resolve `contracts/static-assets.yml` → adapter → terraform) against account 581513795199. Verify CAP-020 (CloudFront distribution reachable — poll every 60s, max 30 min, fail-closed at timeout; WAF ACL attached; origin returns 200). Deploy the uptime-kumo primitive (resolve `contracts/uptime.yml` or equivalent → adapter → terraform) → CAP-021 (monitoring endpoint probeable, alert channels configured). Tag each Verified (live-aws) in `CAPABILITY_INVENTORY.md`. Add CAP-020/021 to the regression registry. +- **Status:** pending +- **Depends on:** [56] +- **Requirements:** REQ-118 +- **Success Criteria:** + - `terraform apply` static-assets succeeds; CloudFront distribution Deployed. + - CAP-020/021 tagged Verified (live-aws) in `CAPABILITY_INVENTORY.md`. + - CloudFront DNS returns HTTP 200 (after poll loop); WAF ACL attached (`aws wafv2 list-web-acls`). + - Uptime endpoint probeable; alert channels configured. + - `core/regression_verify.py` includes CAP-020/021 checks. + +### Phase 59 — cost-documentation-from-billing +- **Description:** Query AWS Cost Explorer (`boto3 ce:GetCostAndUsage`) for account 581513795199 over the v1.0→v1.10 spend window (2026-07-21 → 2026-07-27, the milestone build window). Author `.ciagent/COST.md` with: per-service monthly spend (S3, DynamoDB, ECS+Fargate, CloudFront, Lambda, WAF, KMS, Secrets Manager, SNS), cost drivers, the local-emulator-primary-tier cost-avoidance statement (Phase 53 made local the primary tier; live-AWS is a one-off spike per milestone), teardown / cost-ceiling guidance for a downstream clone. Add a deck appendix slide summarizing monthly cost. **Escalation:** if Cost Explorer access is denied (billing read permission missing), escalate to human (no fabrication of spend numbers). +- **Status:** pending +- **Depends on:** [57, 58] +- **Requirements:** REQ-119 +- **Success Criteria:** + - `.ciagent/COST.md` exists with per-service monthly spend from Cost Explorer. + - Cost-avoidance statement + teardown guidance for downstream clones documented. + - Deck appendix slide added with the monthly cost summary. + - If billing access denied: escalation committed; no fabricated numbers. + +### Phase 60 — pre-mortem-doc +- **Description:** Author `.ciagent/PRE_MORTEM.md`: (1) v1.10 decay incident as a structured post-mortem — root cause (diff-scoped VERIFY never re-ran underlying capability; 8 NFR-patch phases passed while the platform decayed), timeline, impact, mitigation (D-091 regression gate at milestone completion), follow-up (G-007 per-phase regression accepted as debt). (2) Forward pre-mortem for the OSS reference + leadership pitch — top failure modes: (a) IAM drift recurs (mitigation: IAM_POLICY.md baseline test in regression gate), (b) cost spike from un-torn-down stacks (mitigation: D-096 teardown mandatory + COST.md ceiling), (c) deck overstates capability (mitigation: ci-doc-verifier + Verified-only claims), (d) pilot consumer hits a contract gap (mitigation: CONTRACT_GUIDE.md + L2 catalog coverage). Each with a user-owned mitigation. +- **Status:** pending +- **Depends on:** — +- **Requirements:** REQ-120 +- **Success Criteria:** + - `.ciagent/PRE_MORTEM.md` exists with the v1.10 post-mortem + forward pre-mortem. + - All 4 forward failure modes have user-owned mitigations. + - Pre-mortem references the D-091 regression gate + D-096 teardown as existing controls. + +### Phase 61 — teardown-deployed-stacks +- **Description:** Use D-070 decommission mode (2-step pipeline with HITL SRE gates + CMDB-validated change request) to tear down the microservice, static-assets, and uptime stacks deployed in Phases 57/58. Change request ID: CHG0680001 (continues the CR format from v1.9.5, incremented). Step 1: disable deletion protection (HITL SRE gate). Step 2: zero counts + `terraform destroy` (HITL SRE gate). Returns the live AWS account to the zero-cost steady state that Phase 59 documents. Records `decommissioned: { stack, cr_id, completed_at }` in the `---ci---` block. **Escalation:** `delete_data`-class (config.json escalation_hooks); the run pauses for SRE approval at each gate. +- **Status:** pending +- **Depends on:** [59] +- **Requirements:** REQ-122 +- **Success Criteria:** + - All 3 stacks (microservice, static-assets, uptime) torn down; `terraform show` confirms no resources. + - D-070 decommission mode executed with both HITL SRE gates passed. + - CR CHG0680001 validated against `acdl-change-requests`. + - Live AWS account returns to zero-cost steady state (no ACDL compute/storage resources). + +### Phase 62 — decks-to-deploy-verified-reality +- **Description:** Update `CAPABILITY_INVENTORY.md`, `PROJECT.md` §Capability Status, and both leadership decks (`docs/presentations/how-the-platform-works{,-marp,-talking-points}.{md,html}` + `the-developer-experience{,-marp,-talking-points}.{md,html}`): CAP-017..022 move from "design-verified, deploy-unverified" to Verified (live-aws), with a "Verified live-aws on ; stacks torn down to zero-cost steady state" note (so teardown doesn't invalidate the claim). Remove the IAM-drift framing. Add the cost appendix slide (Phase 59) + pre-mortem reference (Phase 60). Re-render HTML; upload PPTX to the v1.11.0 release. `ci-doc-verifier` confirms no stale "deploy-unverified" claims remain. +- **Status:** pending +- **Depends on:** [59, 60, 61] +- **Requirements:** REQ-121 +- **Success Criteria:** + - CAPABILITY_INVENTORY.md + PROJECT.md show CAP-017..022 Verified (live-aws). + - Both decks reflect the Verified status; no "deploy-unverified" claims remain. + - Cost appendix slide + pre-mortem reference present in both decks. + - HTML re-rendered; PPTX uploaded to v1.11.0 release. + - `ci-doc-verifier` confirms no stale capability claims. + +### Phase 63 — verify-review-audit-complete +- **Description:** 4-layer verify gate (structural, behavioral, security, quality) across all v1.11 phases. Multi-persona code review (P0 auto-fixed, P1+ flagged). Regression run (D-091) clean against the v1.11 state — CAP-017..022 now included. Ship `v1.11.0` (merge to main, tag, Gitea release with phase summary + PPTX). Audit (reconstruction test, branch hygiene, commit discipline). Mark `REQUIREMENTS.md` REQ-116..122 complete + `ROADMAP.md` v1.11 complete. +- **Status:** pending +- **Depends on:** [56, 57, 58, 59, 60, 61, 62] +- **Requirements:** — +- **Success Criteria:** + - 4-layer verify gate PASS. + - Code review: 0 P0 outstanding; P1+ flagged. + - Regression run clean (CAP-001..022 all Verified). + - `v1.11.0` tagged; Gitea release published with PPTX. + - Audit PASS; `REQUIREMENTS.md` + `ROADMAP.md` marked complete. + +After Phase 63: COMPLETE gate — review → ship `v1.11.0` → audit. **DONE.** diff --git a/.ciagent/config.json b/.ciagent/config.json index 2a1e0d4..1a8be9b 100644 --- a/.ciagent/config.json +++ b/.ciagent/config.json @@ -4,8 +4,8 @@ { "slug": "acdl", "name": "Agentic Cloud Delivery Platform", - "milestone": "v1.10", - "status": "complete" + "milestone": "v1.11", + "status": "active" } ], "active_project": "acdl",