2806c6c3edb54caae4e6c2aee735f7da18f96e84
41 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
eb7634da28 |
fix(P5): doc drift — Nova rebrand stale refs in docs/decks/roadmap/arch
v1.15-Nova rebrand doc verification (phase/05-final-review-ship) found stale ACDL references where the code/terraform already uses Nova names. Critical drift fixed (doc said old name; code uses new): - README.md: `.acdl/contract.yml` -> `.nova/contract.yml`; `acdl-spike-runner` -> `nova-spike-runner`; ABAC tag keys `acdl:owner|contract` -> `nova:owner|contract`. - docs/environments/index.md: `acdl-contract-ingestor` -> `nova-contract-ingestor`; `aws:PrincipalTag/acdl:owner` -> `nova:owner`; `acdl-contracts` -> `nova-contracts`. - docs/consumer-guide.md: `acdl-change-requests` -> `nova-change-requests`; state bucket example `acdl-qa-state` -> `nova-qa-state`. - docs/presentations/* (4 decks + 2 HTML + talking-points): `acdl:owner|contract| environment|cost-center` -> `nova:*`; `ACDL_LIFECYCLE_MODE` -> `NOVA_LIFECYCLE_MODE`. - pipelines/modules-lifecycle.yml comments: `ACDL_LIFECYCLE_MODE` -> `NOVA_LIFECYCLE_MODE` (workflows already use NOVA_; the contract comments were stale). - docs/NOVA_MIGRATION.md: status banner -> COMPLETE (P5 cutoff passed). - .ciagent/ARCHITECTURE.md: header `ACDL` -> `Nova`; NOVA_LIFECYCLE_MODE rename noted in the live lifecycle-mode section (v1.15 addendum already correct). - .ciagent/ROADMAP.md: v1.15 phase statuses P1-P4 pending -> complete (v1.15.1..v1.15.4); P5 -> in progress (phase/05-final-review-ship). Verification: - grep for `acdl:*` tag keys / `.acdl/contract` / `acdl-contract-ingestor` / `acdl-contracts` / `ACDL_LIFECYCLE_MODE` in README/docs/pipelines -> 0 hits (excluding explicitly-unchanged repo path `acdl/.github/...`, `continuous-intelligence/acdl`, and historical narrative). - core/output_publisher.py uses `/nova`; schemas/tagging-standard.json uses `nova:*`; terraform uses `nova-*` (0 `acdl-` in *.tf) — docs now match. - git tag v1.15.0..v1.15.4 exist. - pytest tests/test_lifecycle_mode_flag.py tests/test_pipeline_contract.py -> 111 passed. ---ci--- project: acdl |
||
|
|
0e6ecae26d |
feat(P4): Nova rebrand — AWS resource migration (REQ-163)
Rename all acdl-* AWS resources → nova-* across terraform (DynamoDB, Secrets Manager, Lambda, SNS, SG, KMS alias, ECS, ECR, IAM user/policy, state bucket, ALB, VPC/subnet names). Lambda default table names → nova-* (D-111). State bucket backend → nova-tfstate (-migrate-state documented). New docs/NOVA_AWS_MIGRATION.md runbook (staged migration + rollback). New scripts/migrate_dynamodb_data.py (scan+copy, dry-run default). acdl-deploy- → nova-deploy- role ARN in deploy workflows. Test fixtures updated; terraform validate + pytest + run_ci.sh PASS. ---ci--- project: acdl phase: 4 milestone: v1.15 status: execute ---/ci--- |
||
|
|
51c3edf458 |
feat(P3): Nova rebrand — SSM path + tag keys (REQ-161/162)
SSM path /acdl/{env}/{contractId}/{output} → /nova/... across
core/output_publisher + contract resolver + consumer docs. New
scripts/migrate_ssm_paths.py (copy/verify/delete, dry-run default).
AWS tag keys acdl:owner|environment|contract|cost-center|ref → nova:*
across terraform tagging + ABAC session policies (iam:ResourceTag/acdl:*
→ iam:ResourceTag/nova:*). nova_tagging.py hard mode (D-109 warn→hard).
tagging-standard.json tag-key values → nova:*. New
scripts/untag_acdl_keys.py (remove old acdl:* tags, dry-run default).
Test fixtures updated; pytest + run_ci.sh PASS.
---ci---
project: acdl
phase: 3
milestone: v1.15
status: execute
---/ci---
|
||
|
|
d5bae868a4 |
feat(P2): Nova rebrand — code/env-vars/consumer-path (REQ-158/159/160)
core/env.py dual-read helper (D-108); 21 ACDL_*→NOVA_* env vars migrated across core/scripts/adapters/tests/workflows + .env/.env.secrets (key rename, values stay). G-106 binding: run_platform.sh:288-289 + regression_verify.py:309-312 dual-read (NOVA first, ACDL fallback). G-108 binding: Gitea NOVA_* secrets created via API + workflow secrets: refs updated (deploy.yml + modules-lifecycle.yml, .gitea + .github). acdl_tagging.py→nova_tagging.py (D-109 warn mode, nova:* enforced). .acdl/→.nova/ consumer path (resolver + deploy workflow + schema + tests + docs). Test fixtures updated; pytest + run_ci.sh PASS. ---ci--- project: acdl phase: 2 milestone: v1.15 status: execute ---/ci--- |
||
|
|
63f3a2b66c |
feat(P1): Nova rebrand — docs/decks/prose/schema-$id/release-titles (REQ-155/156/157)
Rebrand ACDL/Agentic Cloud Delivery Platform → Nova across README, docs/, decks (markdown + mermaid .mmd + HTML), pyproject.toml name/description, schema $id URLs (acdl.cloudinit.dev→nova.cloudinit.dev), release.yml title/workflow-name. Nova tagline added to README header + both deck title slides + docs/vision.md (alongside existing North Star, D-106). S&P theme untouched (D-107). New docs/NOVA_MIGRATION.md consumer guide. Data values (env vars, resource names, tag keys, SSM/consumer paths) left for P2-P4. ---ci--- project: acdl phase: 1 milestone: v1.15 status: execute ---/ci--- |
||
|
|
3b1181f39b |
Merge milestone/v1.14-refinement — v1.14 complete (NFR Refinement: bug fixes, security, stubs, tests, docs; 20 phases + final; tag v1.13.24)
v1.14 NFR Refinement milestone complete. 20 execution phases (P1-P20) + 1 final (P21). All P1/P2 backlog from v1.11 review resolved. Security posture hardened (swallowed errors, account ID externalized, IAM scoped, schema validation, credential hygiene). Stubs resolved (kyverno --kube- version removed). 7 untested scripts gained coverage. Documentation synced (ARCHITECTURE v1.11-v1.14 addenda, stale @v1.6-1.9 -> @v1.13, GRILL G-005/G-008 resolved, COST.md window extended, D-083 deferral recorded). Platform VPC parameterized. 561 tests pass (was 528 at v1.13.2; +33). 22/22 capabilities Verified. 6 grill binding decisions (G-101..G-106) applied. 1 escalation (E-001) auto-resolved at full autonomy (D-101). ---ci--- project: acdl phase: 21 milestone: v1.14 status: complete ---/ci--- |
||
|
|
139224ff6c |
docs(P71b): presentation badge cleanup + platform architecture diagram (v1.13.2)
Remove all testing/agentic maturity badges from both leadership decks across all 4 pipeline layers (source .md, Marp -marp.md, rendered .html, talking-points). Only the planned badges are retained where relevant. Marp inline CSS dropped the .testing/.agentic rules (kept .planned). README maturity-framing updated to describe only the Planned badge. Add a new Slide 3 'The platform at a glance' to both decks with a shared high-level logical architecture diagram (assets/mmd/platform-architecture.mmd -> assets/png/platform-architecture.png). The diagram shows the full topology: consumer surfaces (technical dev + citizen dev) -> contract schema -> central pipeline (8 fixed stages) -> cross-cutting components (module catalog, stateless engine adapter, platform-managed environments, HITL gates, hash-chained evidence stream) -> downstream AWS resources. Subsequent slides renumbered 4-11; talking points + README directory layout + slide counts (10->11 main, 19->20 / 18->19 total) synced. Both HTML decks re-rendered. Docs-only NFR patch (no code changes). ---ci--- project: acdl phase: 71b milestone: v1.13 status: complete ---/ci--- |
||
|
|
06dea7a176 |
docs(review): P1 fixes — sync slide-count metadata + README directory layout
Review of P71 (v1.13) flagged 2 P1 documentation-metadata drift items: 1. Source .md length headers undercounted by 1 (excluded Appendix TOC slide) 2. README.md drifted — missing 12 new asset files + stale slide/section counts Fixes: - how-the-platform-works.md: 18 -> 19 slides (10 main + TOC + 8 appendix) - the-developer-experience.md: 17 -> 18 slides (10 main + TOC + 7 appendix) - both *-talking-points.md companion headers updated to match - README.md directory layout: added 6 new .mmd + 6 new .png files - README.md appendix convention: "10 main + 6 appendix (17 total)" -> per-deck counts (A1-A8 platform, A1-A7 developer, both with TOC) - README.md current-decks table: slide counts updated to 19/18 - README.md talking-points structure: "10 main + 7 appendix" -> TOC-aware No factual/capability claim changes. 16 docs tests pass. ---ci--- project: acdl phase: 71 milestone: v1.13 status: verify lessons: - P1 fix: sync slide-count metadata across source .md, talking-points, README ---/ci--- |
||
|
|
4b8577df2e |
docs(P71): polish leadership decks — action headlines, trim, 6 new diagrams (v1.13)
Polish both leadership decks (how-the-platform-works + the-developer-experience) across all 4 pipeline layers (source md, marp, html, talking points). Story-arc restructure (per storytelling best practices): - Intro ~10% / Body ~80% / Conclusion ~10%; 3-5 body points per deck - One idea per slide; action headlines replace category names - Before/after 2-slide sequence (problem -> north star) on platform deck - Main 10 slides kept; detail pushed to expanded appendix (8 + 7) Word reduction + natural flow: - Remove all <em class="story"> transition lines (flow carried by headlines) - Bullets <= 12 words, 3-4 per main slide (was 5-6) - Cut parentheticals, sub-clauses, redundant restatements Design + visuals: - Larger fonts: body 22 -> 26px, h1 34 -> 40px, h2 26 -> 32px, blockquote 20 -> 24px - 6 new mermaid diagrams -> PNGs: - platform-works-02-frictions (2x2 quadrant) - platform-works-03-north-star (before/after) - platform-works-07-zero-trust (OIDC + ABAC flow) - developer-experience-05-catalog (primitives -> modules) - developer-experience-07-decommission (6-node gate flow) - developer-experience-08-semver (floating/pinned/major timeline) - At most 1 diagram per main slide; no diagrams on title/conclusion - High contrast preserved, no animations, maturity badges intact Verify: - Marp renders both decks clean (HTML re-rendered, committed) - Talking-points sections == Marp slide count per deck - No stale "deploy-unverified" claims (only closed-status disclosure) - 522 tests pass (no code touched; only docs/presentations/ files changed) - 22/22 Verified framing preserved verbatim from v1.12 ---ci--- project: acdl phase: 71 milestone: v1.13 status: complete ---/ci--- |
||
|
|
0f6d10a2b6 |
docs(milestone): complete v1.12 — Presentation Refinement (tag v1.12.0)
--- ci--- project: acdl phase: 0 milestone: v1.12 status: complete requirements: covered: [REQ-129, REQ-130, REQ-134, REQ-131, REQ-132, REQ-133] partial: [] --- /ci--- Milestone v1.12 complete. All 6 requirements satisfied: - REQ-129: adapter dedup defect fixed (CAP-013 Verified). - REQ-130: 2 regression-probe bugs fixed (CAP-017/018). - REQ-134: lifecycle tests plan-only default + ACDL_LIFECYCLE_MODE flag. - REQ-131: decks match CAPABILITY_INVENTORY.md (22/22 Verified, zero stale claims except the honest 'v1.10 status is closed' disclosure). - REQ-132: decks reflect v1.11 architecture + roadmap (v1.10 no longer NEXT); version refs bumped to @v1.12. - REQ-133: A6 (real cost figures + pre-mortem) + A7 (stateless adapter + lifecycle pipeline); HTML re-rendered; PPTX exported for the release. Verification: 522 tests pass; 22/22 capabilities Verified (D-091); run_platform.sh --check-only green; run_ci.sh green; ci-doc-verifier grep clean; multi-persona review clean (P1 remediated). ROADMAP.md v1.12 section added; v1.11 marked complete; config.json status -> complete, ship_tag v1.12.0. Version refs @v1.11 -> @v1.12 (decks re-rendered). PPTX in /tmp/v1.12-release/ for the Gitea upload. |
||
|
|
e33d6c890f |
docs(P69): re-synthesize Marp decks + talking points + re-render HTML (22/22 Verified)
--- ci--- project: acdl phase: 69 milestone: v1.12 status: execute --- /ci--- Re-synthesized both Marp decks from the v1.12-synced source markdown: - Both decks now 10 main + 7 appendix = 17 slides (was 10 + 6 = 16). - New A6 'Operating Model & Cost': real COST.md figures table (/usr/bin/bash.001883/ 8d, ~/usr/bin/bash.007/mo, S3-dominated), zero-cost steady state, D-096 teardown, + pre-mortem reference (PRE_MORTEM.md 4 failure modes), + plan-only default bullet (ACDL_LIFECYCLE_MODE=full override, REQ-134). - New A7 'Verified by Construction': stateless adapter (918->~80 lines, per-module terraform/ dirs, P67 dedup fix) + pipeline-driven lifecycle testing (green cell = verification, plan-only default, 22/22 Verified). - 'Testing vs. Planned' (PW slide 11 + A4): '11 capabilities' -> '22/22 Verified via lifecycle pipeline + regression gate'; the 'deploy-unverified (IAM drift)' Verification Coverage line removed and replaced with the honest 'v1.10 status is closed' disclosure. - Version refs @v1.10 -> @v1.11 across both decks. - YAML frontmatter (S&P Global Energy theme), badge system, image refs, story-beat intros preserved verbatim. Re-distilled both talking-points files to match (added the previously- missing A6 + A7 sections; updated all content to 22/22 Verified). Re-rendered both HTML (committed). Exported both PPTX (held in /tmp/v1.12-release/ for the v1.12.0 Gitea release upload). Verification: stale claims in HTML = 2 disclosure lines in PW (the 'v1.10 status is closed' framing), 0 in DX. @v1.10 = 0 across all artifacts. A6/A7 + cost figures present in both HTML decks. README slide counts updated (10+7=17). |
||
|
|
ec74060664 |
docs(P68): sync decks source .md to v1.11/v1.12 reality (9 drift items + plan-only-default story)
--- ci--- project: acdl phase: 68 milestone: v1.12 status: execute --- /ci--- Source-of-truth markdown for both decks synced to verified reality: - Re-verification headers -> 22/22 Verified (v1.11 lifecycle + v1.12 P67 fix), v1.10 '6 deploy-unverified (IAM drift)' disclosed as closed. - A4 (PW) verification status: '11 capabilities testing' -> '22/22 Verified via lifecycle pipeline + regression gate'. - De-duplicated repeated story-beat intro lines (PW slides 3-10, A1). - Version refs @v1.10 -> @v1.11 in deck examples. - road-to-north-star.mmd re-rendered: v1.10 no longer 'NEXT'; v1.11-v1.12 lifecycle testing + presentation refine (22/22 Verified + torn down to zero-cost) is the current phase; v2.0 is NEXT. - New A6 'Operating Model & Cost' in both decks: real COST.md figures (/usr/bin/bash.001883/8d, ~/usr/bin/bash.007/mo, S3-dominated), zero-cost steady state, D-096 teardown, + pre-mortem reference (PRE_MORTEM.md: 4 failure modes + structural mitigations). - New A7 'Verified by Construction' in both decks: the two v1.11 architectural pillars (stateless adapter 918->~80 lines; pipeline-driven lifecycle testing — the green cell IS verification) + the v1.12 plan-only default (ACDL_LIFECYCLE_MODE flag, REQ-134). - Appendix TOCs updated (5 -> 7 sections). Marp + HTML + talking points re-synthesized in P69 (next). |
||
|
|
2397336cbb |
verify(P57): code review — 3 P0 auto-fixed, 2 P1+ flagged
Multi-persona review of the contract surface redesign ( |
||
|
|
10b87a644c |
docs(P57): polish PW & DX decks — new contract shape, S&P mermaid theme, Verification Coverage, Operating Model appendix
Contract examples updated to new shape:
- DX Slide 3 contract example: id/name/environment/infrastructure (no uses:, no module:)
- Version pins bumped from @v1.6/@v1.8 to @v1.10
- .acdl/contract.yaml → .acdl/contract.yml in all deck examples
Story beat prefix stripped:
- All 'Story beat: ' prefixes removed from narrative lines (DX source + both Marp decks)
- PW source-of-truth: added narrative lines to fix P51 drift (PW Marp had them, PW source didn't)
DX Slide 2 reconciliation:
- Title: 'Where ACDL Sits' → 'Where Agentic Cloud Delivery (ACDL) Sits' (spelled out)
- Source-of-truth inline mermaid reconciled to match .mmd/PNG (subgraphed LR version)
- Prose: added ACDL definition line
S&P mermaid theme (all 10 diagrams):
- assets/mmd/sp-theme.json: canonical S&P Red/Black/White theme
- Each .mmd file: %%{init:...}%% block with inline theme (self-contained)
- Two-tone classDef: accent (dark fill, white text, red border) for key nodes,
supporting (white fill, black text, red border) for the rest
- All 10 PNGs re-rendered with --configFile sp-theme.json
- README build command updated with --configFile flag
GRILL G-005 (Verification Coverage):
- PW Slide 9: added block listing 6 deploy-unverified capabilities (CAP-017..022)
- DX A6: same block included in the new appendix slide
GRILL G-008 (Operating Model & Cost):
- Both decks: new A6 appendix slide (local emulators primary tier, zero cloud cost,
live-AWS one-off spike per milestone, no BAU spend)
Cross-deck consistency:
- DX glossary: added missing IR row (PW had it, DX didn't)
- Both decks: 7-appendix convention (TOC updated, A1-A6)
HTML re-rendered:
- Both decks re-rendered from updated Marp source
---ci---
project: acdl
phase: 57
milestone: v1.10.2
status: execute
---/ci---
|
||
|
|
031887ec56 |
refactor(P57): contract surface redesign + rename + .yml repo-wide
Contract surface redesign: - New top-level fields: id (3-6 char acronym → stack.name), name (full → stack.title), infrastructure (map keyed by module name, replaces module:) - Drop uses: field (dead reference; version pin lives in CI workflow uses: line) - Drop top-level module/inputs (now nested under infrastructure map) - Per-module optional version (defaults to latest published from registry) - Multi-module contracts: one file deploys N modules in one pipeline run, resource IDs namespaced with module name to avoid collisions - stack.schema.json: add optional title field for display name Rename: - pipelines/deploy.yaml → pipelines/contract.yml (declarative spec, not a pipeline) - pipelines/ci.yaml → pipelines/ci.yml - All 44 .yaml files → .yml repo-wide (contracts, module examples, kyverno policies) - .acdl/contract.yaml → .acdl/contract.yml Resolver (core/contract_resolver.py): - Rewrite resolve() to loop infrastructure map, default version to latest, merge module fragments into one stack with namespaced resource IDs - _latest_version() picks highest non-deprecated from registry - _namespace_resources() prefixes IDs + rewrites ref: expressions for multi-module - Single-module path: unprefixed IDs (backward compatible) Verification: - 494 tests pass (0 contract-shape failures) - Local E2E passes (contract → resolver → adapter → local ECS HTTP 200 → outbox) ---ci--- project: acdl phase: 57 milestone: v1.10.2 status: execute ---/ci--- |
||
|
|
950db56fdc |
docs(P55): rewrite PROJECT/ROADMAP/decks to verified reality; unfreeze decks
PROJECT.md gains a 'Capability Status (Re-Verified 2026-07-27)' section after Domain Boundaries: decay disclosure, the 16 auto-verified capabilities table, the 6 IAM-gated escalated resources, and the regression-gate note. ROADMAP.md v1.9.8 entry annotated 'Last deck-polish phase before the v1.10 deck-freeze'; new v1.10 overview entry noting v1.9.1-v1.9.8 are 'superseded-by-reverification'. Both leadership decks disclose the 2026-07-27 re-verification in their maturity-framing headers, citing .ciagent/CAPABILITY_INVENTORY.md as the source of truth. No 'shipped'/'Available today' claims remain that aren't backed by a Verified capability or an explicit escalation note. The 6 IAM-gated cloud resources (contracts table, Lambda, ECS service, CloudFront stack, uptime-kuma, OIDC role) are explicitly listed as escalated, not silently omitted. Decks unfrozen. v1.10.0 ready to tag. ---ci--- project: acdl phase: 55 milestone: v1.10 status: verify requirements: covered: [REQ-115] partial: [] decisions: [D-094] ---/ci--- |
||
|
|
a4481e20de |
docs(P51): full presentation rework — scope, story arc, visuals, appendix
Major rework of both presentation decks based on leadership feedback. Addresses: story arc, concept clarity, scope clarification, more visuals, appendix for detail-heavy slides, and a complete Road to the North Star. 6 new mermaid diagrams: - platform-works-03-scope-boundary (Upstream → Contract → ACDL → AWS) - developer-experience-01b-scope-boundary (both consumer paths + scope) - platform-works-04-confidence-signal (6 inputs → score → gate → decision) - platform-works-05-attestation-flow (deploy → gate → approver → evidence) - developer-experience-04-promotion-journey (dev → qa → prod → dr) - road-to-north-star (v1.0 demo → v1.9 → v1.10 → v2.0 → North Star) Both Marp decks restructured to 10 main + 6 appendix slides: PW deck (17 slides): 1. Title 2. The Problem & The North Star (anti-goals moved to slide 3) 3. Where ACDL Sits in Your World (NEW — scope boundary, infra only) 4. The Contract-Driven Model (image: removed, infra inputs instead) 5. The End-to-End Flow 6. Zero-Trust by Default 7. Safety is Computed (NEW confidence signal diagram) 8. Security by Construction 9. Accountability & Audit (NEW attestation flow diagram, QA clarification, badge reclassification: dev=Testing, qa/prod/dr=Planned) 10. Testing vs. Planned (summary, full inventory in appendix) 11. The Vision Realized + Appendix: TOC, Platform-Managed Environments, Observability, Road to North Star, Full Inventory, Glossary DX deck (16 slides): 1. Title 2. Where ACDL Sits in Your World (REPLACES Two Consumer Surfaces — scope boundary with both consumer paths) 3. The Contract — The Entire Consumer Surface (image: removed) 4. The Developer Feedback Loop 5. Versioned, Predictable Releases 6. Friendly Onboarding 7. Safe Promotion Path (NEW promotion journey diagram, rising bar annotated: dev=Testing, qa/prod/dr=Planned) 8. Safe Decommission 9. Self-Service Module Catalog 10. The Desired Outcomes + Appendix: TOC, Citizen Developer Experience, No Platform Code, Local Reproducibility, Road to North Star, Glossary Story arc: every slide has an italic 'Story beat' line connecting it to the narrative progression. Scope clarification: ACDL is infrastructure only. Upstream is anything (IDE, agentic SDLC, citizen dev vibe coding). ACDL provisions and governs AWS resources; application deployment is upstream. Contract examples now show infrastructure inputs (cpu, memory, desired_count, port) not image:. QA attestation reclassification: 'Design tested' → 'Planned'. QA attests to infrastructure readiness (contract + Terraform plan + evidence), not application code. Dev is autonomous (Testing); qa/prod/dr are Planned. Road to the North Star: phased timeline (v1.0 → v1.9 → v1.10 → v2.0 → North Star), annotated 'proposed phasing, not formally planned.' Also: scripts/sync_to_gl.sh added (GitLab mirror sync utility). ---ci--- phase: 51 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
00762c1256 |
verify(P51): code review — 1 P0 auto-fixed, 2 P1+ flagged
---ci--- project: acdl phase: 51 milestone: v1.9.8 status: verify lessons: - P0 fix: removed duplicate reclassification bullets in slide 9 (Dev autonomous / qa-prod-dr attestation were listed twice); consolidated badges inline to match Marp deck ---/ci--- |
||
|
|
016068fd46 |
docs(P50): add talking points files + update README to 4-step process
Create two talking points markdown files — one per deck — distilling the source of truth (speaker notes + content) into presenter-ready cues indexed by the Marp deck's 10-slide structure. Each file has: - One section per Marp slide (## Slide N — Title), matching the Marp deck - 3-6 talking point bullets per slide — punchy, actionable cues distilled from the source markdown's speaker notes - A key takeaway per slide — the one memorable thing the audience should walk away with The talking points are the middle layer between the source of truth (full detail + speaker notes) and the Marp deck (what the audience sees). They give the presenter a cue sheet for delivery without repeating either layer. README updated: - 3-step → 4-step process (added Step 4: talking points) - Process diagram updated with the 4th step - Directory layout updated with the two new files - 'Adding a new presentation' checklist updated with step 6 (distill talking points) - Current decks table updated with a talking points column ---ci--- phase: 50 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
807b17d04b |
docs(P49): consolidate both Marp decks to 10 high-impact slides
How The Platform Works: 16 → 10 slides - Merged Problem + North Star + What It Is/Isn't → 1 slide (4 frictions → North Star → 3 success criteria → 2 anti-goals) - Merged Policy & Security + Secure by Default → 'Security by Construction' - Merged Immutable Audit + Human-in-the-Loop → 'Accountability & Audit' - Folded Observability, Platform-Managed Environments, Portability into existing slides as bullets (Roadmap, Contract-Driven) - Added 'The Vision Realized' closing slide - Removed '5-line YAML' claim (credibility — complex stacks are more) The Developer Experience: 15 → 10 slides - Merged What Dev Does + Contract + No Platform Code → 'The Contract — The Entire Consumer Surface' - Merged Instant Feedback + Deploy Outputs → 'The Developer Feedback Loop' - Merged Safe Promotion Path + Rising Bar → 1 slide with side-by-side approaches + threshold table - Cut Citizen Developer Experience as standalone (mentioned on slide 2 and slide 10 Outcomes) - Kept Versioned Releases, Friendly Onboarding, Safe Decommission as standalone (per user request) - Removed '5-line YAML' claim Source markdown files unchanged (remain complete reference with speaker notes for all original slides). ---ci--- phase: 49 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
7585c828f0 |
docs(P48): vision gaps + badge system + substrate→engine + CR format + agentic tags
9 requirements implemented across presentation decks and project docs: 1. DX closing slide: added 'Infrastructure as a utility, not a craft' bullet to convey the full vision (infrastructure consumed, not maintained; platform compounds value over time). 2. PW Problem slide: 'moving a merged change' → 'promoting a change'. 3. PW Problem slide: added 'Red tape' and 'Scalability without increasing headcount' bullets (4 frictions, not 2). 4. PW Roadmap slide: redesigned with side-by-side HTML table layout (Testing | Planned), 16px font, no overflow. 5. PW deck: added new slide 'What This Platform Is — and Isn't' after North Star (sovereign boundary, infrastructure as utility, 4 anti-goals). PW deck now 16 slides (was 15). 6. Maturity nomenclature: 'Available today'/'shipped' → 'Testing' across both decks + source markdown. New .testing badge (blue/teal #DBEAFE). Roadmap title: 'Testing vs. Planned'. The platform has 0 consumer adoption — 'shipped' was inaccurate. 7. Global: 'substrate' → 'engine' across entire project (88 matches, 30+ files including .ciagent/, docs/, modules/, adapters/, schemas/, code). 8. Presentation files only: 'forge' → 'VCS' / 'version control system' (6 occurrences in 4 files). 'forge' retained in all technical docs and code as the industry-standard term. 9. New .agentic badge (purple/violet #EDE9FE) appended to agentic features in both decks: confidence signal, autonomous dev, pattern recognition, dynamic module creation, citizen developer surface, auto-promotion. Also: Change Request ID format changed from 'CR-2026-001' to 'CHG0678912' across presentation files, consumer guide, and test fixtures. HTML re-rendered. PPTX rendered for release upload. ---ci--- phase: 48 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
2682719f24 |
docs(P47): presentation slide updates + HIPAA removal from all docs
Presentation changes (both Marp decks + source markdown): 1. Title slide: deck title as H1 (slightly bigger), 'Agentic Cloud Delivery Platform' as H3 subtitle — cleaner title hierarchy 2. DX deck: removed Local Reproducibility slide (not beneficial for DX) 3. DX deck: Safe Promotion Path slide redesigned with side-by-side layout for Approaches A and B (HTML table, two columns) 4. DX deck: 'an agent' → 'an AI agent' (slide 2 + Citizen Developer slide) 5. DX deck: What a Developer Does — diagram floated to the right side 6. Header simplified to just the deck name (subtitle now on title slide) HIPAA removal (25 files): - Completely removed all HIPAA references from all markdown documentation, presentation source files, module READMEs, and rendered HTML - Removed HIPAA from compliance milestone lists (GDPR, SOX, SOC2, DORA remain) - Removed HIPAA section references (§164.xxx) from compliance annotations - Cleaned up empty parentheses and broken commas left by removal - Re-rendered both HTML decks from updated Marp source ---ci--- phase: 47 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
ec30f4ae56 |
docs(P46): render Marp decks to HTML + PPTX, update README for rendered artifacts
Commit self-contained HTML renderings of both Marp presentation decks to docs/presentations/ so they are viewable in any browser and on the git forge. The HTML files embed all images as base64 data URIs and render the full S&P Global Energy brand theme (#D6002A red-core, #1B1B1B grey-90, Akkurat Pro font). Updated the README to document the 3-step process with HTML as a committed artifact (re-render when Marp source changes) and PPTX as a Gitea release attachment (binary, not committed to git). PPTX files are rendered and uploaded to the Gitea release as downloadable attachments for stakeholders. ---ci--- phase: 46 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
ae0cb589ab |
docs(P45): S&P Global Energy theme + title/footer/subtitle updates for Marp decks
Apply S&P Global Energy brand theme to both Marp presentation decks: 1. Title headers: 'Agentic Cloud Delivery Platform — How The Platform Works' and 'Agentic Cloud Delivery Platform — The Developer Experience' 2. Footer: 'Confidential · For Senior Leadership' → 'Internal' 3. Title slide subtitle: removed 'Senior Leadership Briefing' (clean title) 4. S&P Global brand theme (colors extracted from live spglobal.com CSS): - H1/H2: #D6002A (S&P red-core, confirmed from logo SVG + compiled CSS) - Title slide bg: #1B1B1B (S&P grey-90) with 8px #D6002A top accent bar - Body text: #1B1B1B (grey-90) - Blockquote border: #D6002A, text: #2E2E2E (grey-80) - Table headers: #F0F0F0 (grey-5) - Font: 'Akkurat Pro' (S&P corporate typeface) with web-safe fallbacks - theme: default kept as Marp base (simple) 5. Last DX slide: 'The Outcome for Leadership' → 'The Desired Outcomes' ---ci--- phase: 45 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
fca618916c |
docs(P44): leadership presentation decks + Marp synthesis + README
Add two leadership-facing presentation decks for senior leadership (CTO, Head of Cloud, Head of Infrastructure, Head of DevOps): 1. How the Platform Works — 14 slides covering the contract-driven model, zero-trust, computed safety, policy enforcement, secure-by-default, immutable audit, HITL, observability, platform-managed environments, portability, and an honest shipped-vs-planned roadmap. 2. The Developer Experience — 14 slides covering two consumer surfaces, the 5-line contract, no platform code, versioned releases, instant feedback, deploy outputs, local reproducibility, friendly onboarding, safe promotion (one contract + per-env CI jobs), safe decommission, self-service module catalog, and the leadership outcome. Each deck has two forms: - Full markdown (source of truth) with speaker notes + mermaid code blocks - Marp deck (lean, no speaker notes, embedded PNG diagrams) for presentation Includes a README documenting the 3-step slide creation process: (full markdown → Marp synthesis → PPTX export) with conventions, build commands, and maturity framing rules. ---ci--- phase: 44 milestone: v1.9 status: complete requirements: covered: [] partial: [] ---/ci--- |
||
|
|
5365bb4e0a |
docs(milestone): complete v1.9 — verify + review + audit + tag v1.9.0
---ci--- project: acdl phase: 0 milestone: v1.9 status: complete requirements: covered: [REQ-100, REQ-101, REQ-102, REQ-103, REQ-104, REQ-105, REQ-106, REQ-107, REQ-108, REQ-109, REQ-110, REQ-111] partial: [] ---/ci--- v1.9 milestone COMPLETE. All 12 requirements satisfied. Verify: 4 layers PASS (structural 26/26 files, behavioral 493 tests + run_ci.sh + run_platform.sh --check-only green, security, quality). Review: 0 P0, 0 P1 (READY TO SHIP). REVIEW.md reconstructed (D-086). Audit: PASS (reconstruction, file discipline, branch hygiene, commit discipline — 12/12 commits with ---ci--- blocks). Updated: - .ciagent/REQUIREMENTS.md: v1.9 section marked complete; traceability table REQ-100..111 added. - .ciagent/ROADMAP.md: v1.9 marked complete; Phase 43 added. - .ciagent/PROJECT.md: v1.9 objective marked complete. - .ciagent/config.json: milestone v1.9 status -> complete. - .ciagent/REVIEW.md: reconstructed with v1.9 content (D-086). - .ciagent/VERIFY.md: v1.9 4-layer verify. - .ciagent/AUDIT.md: v1.9 audit (PASS). - uses:/ref: bumped @v1.6 -> @v1.9 in contracts/, deploy workflows, docs/consumer-guide.md (D-071 successor). Tag v1.9.0 created next; floating v1.9 + v1 tags updated. |
||
|
|
cd637808f5 |
feat(P41): per-environment CI jobs + environment workflow input
---ci---
project: acdl
phase: 41
milestone: v1.9
status: execute
---/ci---
Phase 41 — per-environment-ci-jobs (REQ-105, REQ-106, D-082):
Per-env contracts (REQ-105):
- contracts/static-assets.{dev,qa,prod,dr}.yaml + microservice.{dev,qa,prod,dr}.yaml
(8 files, each sets environment: to its own name, uses interpolation).
- Default contracts/static-assets.yaml + microservice.yaml preserved (backwards compat).
Deploy workflow environment input (REQ-106):
- .github/workflows/deploy.yml + .gitea/workflows/deploy.yml (byte-identical):
new 'environment' workflow_call input (default empty, override).
- scripts/run_platform.sh: --environment <name> flag; exports
ACDL_ENVIRONMENT_OVERRIDE; re-runs env check against the override.
- core/contract_resolver.py: resolve(environment_override=...) (D-088);
CLI honors --environment flag + ACDL_ENVIRONMENT_OVERRIDE env var.
Consumer guide (REQ-106):
- docs/consumer-guide.md: 'Per-environment deployment' section with 4
caller-workflow examples (dev/qa/prod/dr), HITL gate structure
(approve_qa/approve_prod/approve_dr, D-042), interpolation reference table.
- Documents promotion-without-editing + hybrid model (per-env contracts
OR single contract + env input).
Tests: +40 (test_per_env_contracts.py, test_deploy_workflow_env_input.py,
test_consumer_guide_per_env_section.py). 446 passed; run_ci.sh green;
deploy workflows byte-identical.
|
||
|
|
e1be05287b |
feat(P39): refresh design docs + parameterize adapter (P1-1)
---ci--- project: acdl phase: 39 milestone: v1.9 status: execute ---/ci--- Phase 39 — design-doc-refresh-and-p1-1-parameterization: Design docs (REQ-100, REQ-101): - hitl_matrix_design.md: 'dev-only spike'/'v1.2 wires the gates' framing replaced with v1.9 wired-gates reality; 8-concern matrix marked implemented (offline-testable subset + signed evidence artifacts, D-084); v1.9 wiring section cross-references hitl_gates.py + attestation_matrix.py; approver_dr noted. - audit_ledger_design.md: outbox marked shipped+production since v1.8; S3 Object Lock + JWS + async worker + DLQ + daily checkpoints clearly labeled 'Deferred to a future milestone (D-083)'; RPO/RTO table updated; approver fields note v1.9 hitl_gates.attest. P1-1 adapter parameterization (REQ-102, D-085): - ecs-service interface.json: desired_count (default 1), launch_type (FARGATE), family (app) inputs added. - alb interface.json: load_balancer_type (application), target_type (ip). - adapter.py: hardcoded defaults replaced with inputs.get(<name>, <default>); hardcoded 'acdl-microservice-rt'/'acdl-microservice-igw' Name tags derive from the VPC name input. - contract_resolver.py: child_input_map routes wires to the sub-resource that declares the input (desired_count → aws:ecs:service, family → aws:ecs:task_definition, target_type → targetgroup, etc.). - microservice composition.json: wires added for the new inputs. Tests: +21 (test_p1_1_adapter_parameterization.py, test_design_docs_current.py). 371 passed; run_ci.sh green; run_platform.sh --check-only green; v1.1 S3 regression preserved. |
||
|
|
134f85d2df |
feat(P34): decommission alias + CMDB validation (REQ-92, REQ-93, REQ-94)
---ci--- project: acdl phase: 34 milestone: v1.8 status: execute ---/ci--- - DynamoDB acdl-change-requests table added to terraform/platform/main.tf (PK changeRequestId, SK submittedAt, SSE via CMK, PITR). - validate_change_request Lambda action added to contract_ingestor.py: queries CMDB, asserts status=approved + consumerRepo match. - decommission_transform() added to contract_resolver.py: zeroes all counts (desired_count, min/max_capacity) + sets deletion_protection=false. - Decommission mode added to deploy pipeline + both deploy workflows (mode: decommission + changeRequestId input). Byte-identical. - run_platform.sh --decommission flag: validates CR, resolves with deletion_protection=false (step 1), then decommission_transform (step 2). HITL SRE gates documented. - docs/consumer-guide.md: new "Decommissioning a stack" section with CR request, trigger, 2-step HITL SRE gates, CMK deletion window, uptime. Tests: +14 (318 -> 332). All pass. |
||
|
|
f3b7815120 |
docs(P27): update docs + README for RDS primitive + module examples
- docs/modules/index.md: add rds primitive row + Examples section - docs/consumer-guide.md: reference examples/ directory + microservice sample - docs/contracts/index.md: reference both sample contracts + module examples - README.md: add rds to primitives list, note examples/ dirs, update contracts row ---ci--- project: acdl phase: 27 milestone: v1.7 status: execute ---/ci--- |
||
|
|
07c0349131 |
feat(P24): platform Lambda + DynamoDB contract ingestion + cross-account IAM
Phase 24 — platform-lambda-and-contract-ingestion. - core/lambda/contract_ingestor.py: AWS Lambda handler invoked via Function URL (IAM auth). Parses JSON body, validates required fields, writes the contract to DynamoDB table acdl-contracts (PK consumerRepo, SK contractId#submittedAt, status submitted, ISO-8601 submittedAt). report_error action is a stub returning "error_report_prepared"; GitHub issue creation is wired in Phase 25. Returns 400 on missing fields / unknown action, 500 on error. Table name + GitHub-token secret ID come from env (set by Terraform). - core/lambda/__init__.py: empty package marker. - terraform/platform/main.tf: DynamoDB acdl-contracts (PITR, SSE via CMK), KMS customer-managed key with alias/acdl-platform, Secrets Manager secret acdl/github-token, IAM execution role (DynamoDB write + Secrets Manager read + KMS decrypt + CloudWatch logs), Lambda acdl-contract-ingestor (Python 3.12, handler contract_ingestor.lambda_handler), Function URL with AWS_IAM auth. State key platform/terraform.tfstate (distinct from spike/microservice). - terraform/platform/README.md: documents what it deploys, the state key, how to apply, and the cross-account invocation model. - terraform/platform/consumer_invoke_policy.json: ABAC-scoped policy template applied to consumer deploy roles during onboarding; grants lambda:InvokeFunctionUrl conditioned on aws:PrincipalTag/acdl:owner == consumerRepo. - tests/test_contract_ingestor.py: 11 tests (moto-backed DynamoDB mock) covering submit_contract put_item shape, report_error stub, missing-field 400, unknown action 400, the lambda_handler wrapper with a Function-URL-style event, dict body, default action, and internal-error 500. - docs/environments/index.md: new section documenting the cross-account contract-ingestion grant (one-way consumer→platform, D-051) and that onboarding now also grants the consumer deploy role InvokeFunctionUrl. - scripts/run_ci.sh, pipelines/ci.yaml, .gitea/workflows/ci.yml, .github/workflows/ci.yml: add core/lambda/contract_ingestor.py to the lint py_compile list. The two workflow YAMLs remain byte-identical. Verification: scripts/run_ci.sh passes all 3 stages (lint/test/check-only); python3 -m pytest tests/ -v passes all 213 tests (11 new + 202 existing). ---ci--- project: acdl phase: 24 milestone: v1.7 status: execute ---/ci--- |
||
|
|
dca35c78ec |
feat(P22): rename static-asset→static-assets + cloudfront/waf primitives + production stack + @v1.6 bump
---ci---
phase: 22
title: rename-and-production-static-assets-stack
status: complete
verification:
- scripts/run_ci.sh: PASS (CI PIPELINE OK)
- python3 -m pytest tests/ -v: 175 passed
- scripts/run_platform.sh --check-only: PASS (PLATFORM CHECK OK)
- grep -R "static-asset[^s]" . (excl .git/): 0 hits
- grep -R "static-asset$" . (excl .git/): 0 hits
- floating git tags v1.6 + v1 point at v1.6.0 (
|
||
|
|
a90a7562b9 |
verify(P21): code review — 1 P0 auto-fixed, 3 P1+ flagged
---ci---
phase: 21
milestone: v1.6
status: verify
lessons:
- P0 fix: docs/_config.yml had conflicting theme + remote_theme (would
break the GitHub Pages build). Removed the conflicting theme: key,
kept remote_theme: minimal-mistakes.
- P2 fix: removed unused json + os imports from core/environment_check.py.
---/ci---
Multi-persona review of v1.6 phase 21 (docs restructure + core rename +
environments scaffold).
P0 (blocking) — AUTO-FIXED:
- M1: docs/_config.yml declared both and
. Jekyll rejects using
both; the Pages build would fail. Fixed: removed the line,
kept (minimal-mistakes, which provides the
layout the defaults reference).
P2 (nits) — AUTO-FIXED:
- M2: core/environment_check.py imported + but never used
them. Removed.
P1 (important) — FLAGGED FOR POST-HOC REVIEW (do not block ship):
- C1 (pre-existing, from v1.5 review C2): .github/workflows/deploy.yml
checks out the platform repo at , but no floating tag
exists (only v1.4.0 / v1.4.1). Operator must create a floating v1.4
tag or change the ref to v1.4.1 (or v1.6.0 now that it exists). The
consumer guide + sample contract also reference @v1.4.
- C2: docs/_config.yml key is not a standard minimal-mistakes
navigation config (that theme reads _data/navigation.yml). The
key is harmless metadata but won't render a real nav. Recommend adding
docs/_data/navigation.yml for the theme, or switching to a theme that
reads from _config.yml. Non-blocking for the docs content.
- S1 (pre-existing, from v1.5 review S1): the static-key override in
deploy.yml sets ACDL_AWS_ACCESS_KEY_ID/ACDL_AWS_SECRET_ACCESS_KEY as env
vars on the configure-aws-credentials step, but that action reads AWS_*
or its own access-key/secret-key inputs, not ACDL_AWS_*. The override
is not actually wired. Phase 21 did not touch this step.
Verified: byte-identical workflows (CI + deploy); dev.json valid JSON;
all core Python compiles; path-traversal on --env is safe (no file match
-> onboarding prompt, exit 1); all docs internal links resolve; 166
tests pass; run_ci.sh green. The run_platform.sh env-check ordering is
correct (default contract is assigned before the env check runs).
|
||
|
|
df7b40b435 |
docs(P21): normalize vision.md L1/L2/L3A/L3B labels (VERIFY fix)
---ci---
project: acdl
phase: 21
milestone: v1.6
status: verify
---/ci---
VERIFY caught a residual L1/L2/L3A/L3B nomenclature in docs/vision.md
('the four-layer model (L1 Terraform primitives, L2 composed stacks, L3A
developer surface, L3B agentic surface)'). Normalized to (primitives,
modules, developer surface, agentic surface) to match the consumer-facing
terminology.
Verification summary:
- REQ-52: 0 .ciagent/.gitea refs in docs/ README.md modules/ contracts/.
- REQ-53: 0 acdl_platform refs in code (excl .ciagent/demo/.git).
- REQ-54: docs/ Jekyll structure complete; 0 .ciagent links in docs/.
- REQ-55: 0 L1/L2/L3A/L3B labels in consumer docs; composition->pattern
in prose (composition.json files kept); composition roadmap entry kept.
- REQ-56: 0 forge refs in consumer docs.
- REQ-57: README repository roles restated (app code + contracts + CI
definitions).
- REQ-58: Features + Roadmap sections present; no version changelog.
- REQ-59: mermaid has security-checks + infrastructure-plan + policy-
checks + infrastructure-apply; no tool names in diagram.
- REQ-60: 0 go-gitea/waiver/D-039/D-047 in README; daily/out-of-band
rotation retained.
- REQ-61: core/environments/ + dev.json + environment_check.py +
run_platform.sh wire-in + 12 tests.
Tests: 166 pass. run_ci.sh green.
|
||
|
|
d830357230 |
docs(P21): restructure docs/ into Jekyll Pages site (REQ-54, REQ-55, REQ-56)
---ci--- project: acdl phase: 21 milestone: v1.6 status: execute ---/ci--- Restructure docs/ into a Jekyll-style GitHub Pages site: - docs/_config.yml (Pages config + nav, excludes internal/) - docs/index.md (landing: platform + consumer model, Features, Roadmap) - docs/modules/index.md (catalog: primitives + modules, normalized terms) - docs/contracts/index.md (schema, fields, sample, multi-contract) - docs/pipeline/index.md (CI + deploy pipeline, stages mermaid, streaming) - docs/pipeline/versioning.md (module + deploy-pipeline versioning) - docs/environments/index.md (platform-managed envs + onboarding, REQ-61) - docs/consumer-guide.md (renamed from CONSUMER_GUIDE.md; GitHub-only, no .gitea, forge->platform runners, L2->modules, composition->pattern, updated mermaid with security-checks + infrastructure-apply) - docs/architecture.md (consolidated from architecture.md + architecture-v1.0.md, current-architecture only, normalized terms: primitives/modules, platform runners, no L1/L2/forge/gitea in prose) - Removed docs/architecture-v1.0.md (consolidated) + docs/CONSUMER_GUIDE.md (renamed). No .ciagent/ or .gitea/ references in docs/. Consumer-facing terminology normalized (L2->modules, L1->primitives, composition->pattern, forge-> platform runners). |
||
|
|
f68f85c9fd |
review(v1.5): READY TO SHIP — multi-persona code review
---ci---
project: acdl
phase: 20
milestone: v1.5
status: review
verdict: READY TO SHIP
p0: 1 (fixed — contract path resolution in deploy workflow)
p1: 6 (flagged post-hoc)
---/ci---
Multi-persona review of v1.5 phase 20 (docs + reusable deploy workflow).
P0 (blocking) — AUTO-FIXED:
- C1: scripts/run_platform.sh contract path resolution broken in deploy
workflow. The reusable workflow invokes run_platform.sh from the consumer
workspace root with a relative contract path (.acdl/contract.yaml), but
run_platform.sh does `cd "$ROOT"` (platform repo) early, so the relative
path resolved against the platform repo and the pipeline could never run.
Fix (commit
|
||
|
|
2a84c0047b |
feat(P20): consumer happy path + reusable deploy workflow (v1.5.0)
---ci--- project: acdl phase: 20 milestone: v1.5 status: verify ---/ci--- REQ-46: README rewritten — platform-source vs consumer-repo distinction up front; platform flow converted to mermaid flowchart TD; L3A/L3B + spike nomenclature scrubbed from prose (code paths kept verbatim); prereqs pointer to consumer guide added. REQ-47: docs/CONSUMER_GUIDE.md (generic, all L2 modules) replaces docs/consumer-guide-static-asset.md — mermaid diagrams (model LR + pipeline TD), versioned uses: (@v1.4 floating MAJOR+MINOR, bare/@main discouraged), consumer-scoped prerequisites (no Terraform/Checkov/boto3/runner-key), run- time platform fetch via reusable workflow (consumers never invoke scripts/run_platform.sh locally for the happy path), optional local validation note. REQ-48: Credentials section rewritten — zero-trust OIDC + ABAC default (repo-identity + resource-tag scoping, blast-radius containment); static-key override in GitHub Secrets or .env.secrets with platform-managed daily rotation; consumer rotates out of band when using .env.secrets locally. REQ-49: byte-identical .gitea/workflows/deploy.yml + .github/workflows/ deploy.yml — reusable (on: workflow_call), checks out consumer repo + ACDL platform repo, installs deps, runs run_platform.sh, uploads artifacts; OIDC default (permissions: id-token: write) + static-key override via secrets. REQ-50: contracts/static-asset.yaml uses: @v1.4 (MAJOR+MINOR). REQ-51: tests/test_pipeline_contract.py extended — TestDeployPipelineSchema, TestDeployPipelineContract, TestDeployWorkflowConformance (byte-identical, reusable, contract/mode inputs, run_platform invocation, platform-repo checkout, OIDC permissions), TestSampleContractVersioning. 154 tests pass (19 new); run_ci.sh green. Fixes: modules/l2/static-asset/README.md dangling link retargeted to docs/CONSUMER_GUIDE.md. |
||
|
|
92d4535f5f |
phase: 7, status: plan-as-execute, persona: lead-developer, task: T-7.1
---ci---
project: acdl
phase: 7
milestone: v1.1
status: plan-as-execute
persona: lead-developer
task: T-7.1
requirements.covered: [REQ-16]
---/ci---
Snapshot docs/architecture.md (v0.2) to v1.0. Body §§1-12 copied verbatim;
resolution log + §13 markers rewritten to ✅ RESOLVED (see PROJECT.md);
§14 status bumped to v1.0; new §15 maps the 6 Phase 07 authored files to
their REQs + owner personas. gitea-runner rename (D-046) applied;
act_runner appears only in a 'formerly' note. All 11 open-decision IDs
present (W1.A, W1.B, W2.A, W3.D, W3.E, BA.A-F, Q1.3 OpenTofu).
|
||
|
|
b84a8a2241 | Update docs/architecture.md | ||
|
|
7614c41530 | Add docs/vision.md | ||
|
|
52665b8f0c | Add docs/architecture.md |