From ab7171236a5d9bf43a45835c49ed643b439323b8 Mon Sep 17 00:00:00 2001 From: Jon Chery Date: Wed, 12 Aug 2026 14:36:15 +0000 Subject: [PATCH] =?UTF-8?q?docs(milestone):=20complete=20v1.24=20=E2=80=94?= =?UTF-8?q?=20Consumer=20Guide=20Accuracy=20&=20Env-Promotion=20Lifecycle?= =?UTF-8?q?=20Enforcement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ---ci--- project: acdl phase: 4 milestone: v1.24 status: complete requirements: covered: [REQ-276,REQ-277,REQ-278,REQ-279,REQ-280,REQ-281,REQ-282,REQ-283,REQ-284,REQ-285,REQ-286,REQ-287,REQ-288,REQ-289,REQ-290] partial: [] ---/ci--- --- .ciagent/CHECKPOINT.json | 29 ++++++++++++++++++++--------- .ciagent/REQUIREMENTS.md | 30 +++++++++++++++--------------- .ciagent/ROADMAP.md | 2 +- .gitea/workflows/deploy.yml | 2 ++ workflows-src/deploy.yml | 2 ++ 5 files changed, 40 insertions(+), 25 deletions(-) diff --git a/.ciagent/CHECKPOINT.json b/.ciagent/CHECKPOINT.json index e6ff5a2..8cdd70b 100644 --- a/.ciagent/CHECKPOINT.json +++ b/.ciagent/CHECKPOINT.json @@ -1,19 +1,30 @@ { - "phase": 0, + "phase": 4, "stage": "complete", "milestone": "v1.24", - "phase_role": "pre_execution", + "phase_role": "final", "attempts": 0, - "updated_at": "2026-08-12T02:20:00Z", + "updated_at": "2026-08-12T02:45:00Z", "project": "acdl", - "milestone_complete": false, - "tag": "v1.23.0", + "milestone_complete": true, + "tag": "v1.23.4", "tag_line": "v1.23.x", + "requirements": ["REQ-276","REQ-277","REQ-278","REQ-279","REQ-280","REQ-281","REQ-282","REQ-283","REQ-284","REQ-285","REQ-286","REQ-287","REQ-288","REQ-289","REQ-290"], "release": { "forge": "gitea", - "release_id": 635, - "tag": "v1.23.0" + "releases_created": true, + "release_ids": { + "v1.23.0": 635, + "v1.23.1": 636, + "v1.23.2": 637, + "v1.23.3": 638 + }, + "milestone_release_tag": "v1.23.4" }, - "requirements": ["REQ-276","REQ-277","REQ-278","REQ-279","REQ-280","REQ-281","REQ-282","REQ-283","REQ-284","REQ-285","REQ-286","REQ-287","REQ-288","REQ-289","REQ-290"], - "phases": ["P1:consumer-guide-fixes","P2:env-transition-detect-and-destroy","P3:env-transition-tests","P4:final-review-ship"] + "tests": { + "total": 287, + "passed": 287, + "failed": 0 + }, + "notes": "v1.24 milestone complete. Tag v1.23.4 (milestone release). 15 requirements complete (REQ-276..290). 4 phases (P0 pre-execution + P1 docs + P2 feat + P3 tests + P4 final). 287 tests pass. Consumer guide accuracy fixes + env-transition detect-and-destroy (no orphan path)." } \ No newline at end of file diff --git a/.ciagent/REQUIREMENTS.md b/.ciagent/REQUIREMENTS.md index 2c2ebc4..1cb8e0d 100644 --- a/.ciagent/REQUIREMENTS.md +++ b/.ciagent/REQUIREMENTS.md @@ -2181,18 +2181,18 @@ assert 20 main + 1 appendix. | REQ | Phase | Status | |-----|-------|--------| -| REQ-276 | P1 | pending | -| REQ-277 | P1 | pending | -| REQ-278 | P1 | pending | -| REQ-279 | P1 | pending | -| REQ-280 | P1 | pending | -| REQ-281 | P1 | pending | -| REQ-282 | P2 | pending | -| REQ-283 | P2 | pending | -| REQ-284 | P2 | pending | -| REQ-285 | P2 | pending | -| REQ-286 | P2 | pending | -| REQ-287 | P2 | pending | -| REQ-288 | P3 | pending | -| REQ-289 | P3 | pending | -| REQ-290 | P3 | pending | +| REQ-276 | P1 | complete | +| REQ-277 | P1 | complete | +| REQ-278 | P1 | complete | +| REQ-279 | P1 | complete | +| REQ-280 | P1 | complete | +| REQ-281 | P1 | complete | +| REQ-282 | P2 | complete | +| REQ-283 | P2 | complete | +| REQ-284 | P2 | complete | +| REQ-285 | P2 | complete | +| REQ-286 | P2 | complete | +| REQ-287 | P2 | complete | +| REQ-288 | P3 | complete | +| REQ-289 | P3 | complete | +| REQ-290 | P1 | complete | diff --git a/.ciagent/ROADMAP.md b/.ciagent/ROADMAP.md index cc53968..3c29170 100644 --- a/.ciagent/ROADMAP.md +++ b/.ciagent/ROADMAP.md @@ -29,7 +29,7 @@ - **v1.13.2 (complete, tag `v1.13.2`):** presentation badge cleanup + platform architecture diagram — removed all `testing`/`agentic` maturity badges from both decks (only `planned` retained); added a new Slide 3 "The platform at a glance" with a shared high-level logical architecture diagram (consumer surfaces → contract → central pipeline → cross-cutting components → AWS) to both decks; renumbered subsequent slides 4–11; synced talking points + README. Docs-only NFR patch (no code changes). - **v1.0 demo URL:** https://git.cloudinit.dev/continuous-intelligence/acdl-evidence/raw/branch/main/index.html - **v1.23 (complete, tag `v1.22.6`):** Nova Deck Cleanup & Python PPTX — consolidated the deck to a single source-of-truth `*-marp.md` (deleted the plain `.md`; speaker notes + talking points embedded as Marp HTML comments); restored the clean S&P visual style (Marp `default` theme + inline `style:` block, matching the old `the-developer-experience.html`); retired `nova-sp-theme.css` from the render path (kept as reference); base64-inlined all images in the HTML for redistribution (`scripts/inline_images.py`); built a parallel structured editable S&P-themed PPTX generator (`scripts/render_pptx.py` via `python-pptx`); restyled benefit callouts (`
`); targeted ~20-30% word-count trim on 8 verbose slides; removed the term "penetrate" repo-wide. 13 requirements (REQ-263..275), 6 phases. 43 tests pass. -- **v1.24 (active):** Consumer Guide Accuracy & Env-Promotion Lifecycle Enforcement — fixes 5 consumer-guide accuracy issues (stale contract-fields table, inconsistent caller examples, misleading "dev only" apply phrasing, Step 8 promotion contradicts the per-env section, stale `@v1.19` reference wording) and adds platform-enforced destroy-on-environment-change: when a consumer edits `environment:` on a stable `contract.id` (Shape A promotion), the platform detects the change via the `nova-contracts` DynamoDB table, destroys the prior env's Terraform state (`spike/{id}/{prior_env}/`) before building the new env, and fails closed if the destroy fails (no orphan path). The per-environment caller-workflow path (Shape B) remains supported. New `core/env_transition.py` module. 15 requirements (REQ-276..290), 4 phases. Feature milestone; tags on v1.23.x line. +- **v1.24 (complete, tag `v1.23.4`):** Consumer Guide Accuracy & Env-Promotion Lifecycle Enforcement — fixes 5 consumer-guide accuracy issues (stale contract-fields table, inconsistent caller examples, misleading "dev only" apply phrasing, Step 8 promotion contradicts the per-env section, stale `@v1.19` reference wording) and adds platform-enforced destroy-on-environment-change: when a consumer edits `environment:` on a stable `contract.id` (Shape A promotion), the platform detects the change via the `nova-contracts` DynamoDB table, destroys the prior env's Terraform state (`spike/{id}/{prior_env}/`) before building the new env, and fails closed if the destroy fails (no orphan path). The per-environment caller-workflow path (Shape B) remains supported. New `core/env_transition.py` module. 15 requirements (REQ-276..290), 4 phases. 287 tests pass. Feature milestone; tags on v1.23.x line. --- diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 219b4d4..d1e6c71 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -110,6 +110,8 @@ jobs: - name: Run the platform pipeline working-directory: ${{ github.workspace }} + env: + NOVA_CONSUMER_REPO: ${{ github.repository }} run: | MODE_FLAG="" case "${{ inputs.mode }}" in diff --git a/workflows-src/deploy.yml b/workflows-src/deploy.yml index 219b4d4..d1e6c71 100644 --- a/workflows-src/deploy.yml +++ b/workflows-src/deploy.yml @@ -110,6 +110,8 @@ jobs: - name: Run the platform pipeline working-directory: ${{ github.workspace }} + env: + NOVA_CONSUMER_REPO: ${{ github.repository }} run: | MODE_FLAG="" case "${{ inputs.mode }}" in