Jon Chery
ce751313a7
docs(milestone): complete v1.21 — Nova Deck Refinement & Pipeline Hardening
...
acdl-ci / Lint (push) Successful in 10s
acdl-ci / Test (push) Failing after 24s
acdl-ci / Platform check-only (offline) (push) Successful in 22s
Nova Slides Render / render (push) Failing after 56s
9 requirements complete (REQ-245..253):
- P1: strategic-docs — thesis rename + NORTH_STAR objectives + RACI
restructure (REQ-246,247)
- P2: slides source-of-truth — rename + restructure + rewrite (REQ-245,
248,249,252)
- P3: marp deck + talking points + README + theme CSS fix (REQ-251,252)
- P4: pipeline hardening — Checkov before plan, Wiz-or-Checkov on plan
(REQ-250)
- P5: render + verify — new diagrams, HTML, PPTX, 686 tests pass (REQ-253)
- P6: final review + ship (this commit)
Deck renamed nova-no-humans-platform* -> nova-autonomous-cloud-delivery*.
Title: 'Nova — The Autonomous Cloud Delivery Platform'. 4-beat arc
(Problem -> Solution -> Proof -> Roadmap + Ask). 18 main + 1 appendix
slides. All 33 review notes applied. Tags on v1.20.x line (v1.20.0 P0 ->
v1.20.6 P6 final = milestone release).
---ci---
project: acdl
phase: 6
milestone: v1.21
status: complete
phase_role: final
requirements:
covered: [REQ-245,REQ-246,REQ-247,REQ-248,REQ-249,REQ-250,REQ-251,REQ-252,REQ-253]
partial: []
---/ci---
2026-08-11 14:18:38 +00:00
Jon Chery
5c07e29b90
docs(P00): validate specification — v1.21 milestone (REQ-245..253)
...
Add v1.21 requirements section (Nova Deck Refinement & Pipeline Hardening):
REQ-245 deck rename + restructure; REQ-246 thesis rename + reframe;
REQ-247 strategic-docs sync (integration objective); REQ-248 RACI
restructure (QE + SRE); REQ-249 Atelier split; REQ-250 pipeline hardening
(Checkov before plan, Wiz-or-Checkov on plan); REQ-251 theme CSS fix +
footer cleanup; REQ-252 global citation/badge/version removal; REQ-253
render + verify + ship.
Set active_milestone=v1.21 in config.json. Sync PROJECT.md strategic-
direction pillar for the integration objective (Objective #4 reframed),
deterministic-trust reword (Objective #2 ), CTO-grade ROI metrics
(Objective #3 ), and anti-goal updates.
---ci---
project: acdl
phase: 0
milestone: v1.21
status: specify
---/ci---
2026-08-11 13:51:55 +00:00
Jon Chery
aa868c97ef
docs(milestone): complete v1.20 — Consumer Cleanup + Transparent Terraform + Slide Pipeline
...
15 requirements complete (REQ-230..244):
- P1: gitea/gitlab removed from all synced files (REQ-230,231,232)
- P2: S&P theme CSS + render_slides.sh + CI workflow + tests (REQ-239..243)
- P3: 12-month product roadmap slides added to deck (REQ-244)
- P4: run_platform.sh split + var.enabled feature flags + stale path fix (REQ-233..238)
---ci---
project: acdl
phase: 5
milestone: v1.20
status: complete
phase_role: final
requirements:
covered: [REQ-230,REQ-231,REQ-232,REQ-233,REQ-234,REQ-235,REQ-236,REQ-237,REQ-238,REQ-239,REQ-240,REQ-241,REQ-242,REQ-243,REQ-244]
partial: []
---/ci---
2026-08-07 18:54:19 +00:00
Jon Chery
f0bc3be92c
docs(P00): validate specification — v1.20 milestone (REQ-230..244)
...
---ci---
project: acdl
phase: 0
milestone: v1.20
status: specify
---/ci---
2026-08-07 18:02:23 +00:00
Jon Chery
a4c5f332f6
feat(P1): sync_to_nova.sh — manual-only 2nd-release pipeline into ~/nova (REQ-229)
...
Replaces scripts/sync_to_gl.sh (kitchen-sink mirror sync into ~/gl/acdl) with
scripts/sync_to_nova.sh — a manual-only, consumer-subset, domain-committed
2nd-release pipeline into ~/nova (GitLab jonathanchery/nova, separate repo +
history, consumer/platform-team audience).
- Manual-only gate: refuses without --release / RELEASE_CONFIRMED=1 (exit 2).
Never triggerable by CI.
- Consumer subset: excludes .ciagent/, .gitea/, .env*, terraform/, demo/,
runtime metrics artifacts, and 18 internal-only scripts (EXCLUDE_SCRIPTS).
Keeps consumer runbooks + metrics export views (README, powerbi,
TRUST_SNAPSHOT). Protects ~/nova/.git via rsync --filter=P .git.
- Domain-based commits: 13 fixed-order domains (config, core, adapters,
modules, contracts, schemas, pipelines, mcp, skills, scripts, tests, docs,
workflows). Each changed domain gets its own conventional commit supplied
positionally via repeated -m flags. No kitchen-sink commit.
- Conventional-commit validation: regex-enforced (feat|fix|docs|chore|...);
bypass via --no-verify-format.
- Modes: --list-domains, --dry-run, --no-push, -v, -h.
- Tests: TestSyncToNovaScript (8 tests) covers gate, domain order, exclude
list, consumer-script inclusion, .git protection filter, conventional
regex.
Decisions: D-143 (target ~/nova), D-144 (conventional commits per domain,
not ---ci--- audit blocks), D-145 (manual-only trigger), D-146 (13 fixed
domains, positional-over-changed mapping), D-147 (coreci/Atelier review
gate deferred).
---ci---
project: acdl
phase: 1
milestone: v1.19
status: execute
requirements:
covered: [REQ-229]
partial: []
---/ci---
2026-08-06 15:40:11 +00:00
Jon Chery
951ad56576
docs(milestone): complete v1.18 — Citizen Developer & Production-Grade Guidance
...
15 requirements (REQ-214..228) satisfied. 32 tests pass. S&P Global theme
restored. PDLC-upstream scope + RACI matrix authored. Submission-readiness
schema + validator shipped. 9 Atelier skills + docs/skills.md. MCP server
(plugin-registry, stdio, vendored Atelier v0.3.6) with 4 tools + agentic
validation. 21-slide deck (3 new: scope/RACI/atelier) with PPTX committed +
release-attached. 10 decisions locked (D-133..D-142).
---ci---
project: acdl
phase: 7
milestone: v1.18
status: complete
requirements:
covered: [REQ-214, REQ-215, REQ-216, REQ-217, REQ-218, REQ-219, REQ-220, REQ-221, REQ-222, REQ-223, REQ-224, REQ-225, REQ-226, REQ-227, REQ-228]
partial: []
---/ci---
2026-08-06 15:16:54 +00:00
Jon Chery
d048460abf
docs(init): validate specification — v1.18 Citizen Developer & Production-Grade Guidance
...
Establish v1.18 active milestone (was v1.17 complete). Author 15 new
requirements (REQ-214..228) across 5 user-directed inputs: S&P Global
theme restoration, PDLC-upstream scope, RACI matrix, Nova input contract
(submission-readiness schema + validator), Atelier integration (skills +
MCP server). Add v1.18 objective to PROJECT.md + ROADMAP.md. Feature
milestone; tags run on v1.17.x patch line.
---ci---
project: acdl
phase: 0
milestone: v1.18
status: specify
---/ci---
2026-08-06 14:54:22 +00:00
Jon Chery
e4adb3f09e
docs(milestone): complete v1.17 — Strategic Direction, Leadership Metrics & Unified Story
...
---ci---
project: acdl
phase: 7
milestone: v1.17
status: complete
requirements:
covered: [REQ-185..REQ-213]
partial: []
---/ci---
2026-08-04 20:09:05 +00:00
Jon Chery
5907dd259a
docs(P00): ideate — 15 enhancement ideas accepted (REQ-199..213), additive within D-120..D-132
...
---ci---
project: acdl
phase: 0
milestone: v1.17
status: ideate
---/ci---
2026-08-04 19:14:02 +00:00
Jon Chery
f55579bea8
docs(P00): clarify — validation pass, tighten attestation wording (REQ-191/194)
...
CLARIFY validation complete. 14 decisions (D-120..D-132) locked.
4 low-severity items deferred to PLAN. No blocking ambiguities.
- Attestation Coverage canonical owner = REQ-194 (compliance)
- REQ-191 excludes Attestation Coverage (cross-ref to REQ-194)
- NORTH_STAR success criteria #1 : distinguish event completeness (qa/prod/dr) from coverage metric (prod/dr)
---ci---
project: acdl
phase: 0
milestone: v1.17
status: clarify
---/ci---
2026-08-04 19:10:52 +00:00
Jon Chery
7fc646d773
docs(init): validate specification — v1.17 Strategic Direction, Leadership Metrics & Unified Story
...
---ci---
project: acdl
phase: 0
milestone: v1.17
status: specify
---/ci---
2026-08-04 19:08:31 +00:00
Jon Chery
f83b974c0e
Merge milestone/v1.16-nova-simplification — v1.16 complete (Nova Simplification: 20-phase NFR sweep + final; tag v1.15.26)
acdl-ci / Lint (push) Successful in 11s
acdl-ci / Platform check-only (offline) (push) Successful in 29s
acdl-ci / Test (push) Failing after 7m25s
2026-08-01 13:37:18 +00:00
Jon Chery
787a6490a5
docs(audit): v1.15 post-milestone audit — PASS (rebrand header fixes + 6 checks)
...
acdl-ci / Lint (push) Successful in 10s
acdl-ci / Platform check-only (offline) (push) Successful in 23s
acdl-ci / Test (push) Successful in 5m53s
Audit of v1.15-Nova milestone: reconstruction PASS (27 commits, 20 with
ci blocks, 7 merges per convention, state matches checkpoint). File
discipline: 10 auto-fixed rebrand-completeness gaps — 9 .ciagent/*.md
headers still said ACDL (PROJECT/REQUIREMENTS/ROADMAP/RESEARCH/AUDIT/
REVIEW/COST/IAM_POLICY/CAPABILITY_INVENTORY → Nova) + config.json
projects[].name → Nova. Active v1.15 sections already Nova; historical
v1.1-v1.14 narratives left as-is. Branch hygiene PASS (6 phases + 1
milestone all merged, 0 orphans). Commit discipline PASS (0 non-merge
commits without ci blocks, 0 unresolved escalations). 6 audit checks
all PASS. Verdict: PASS.
---ci---
project: acdl
phase: 5
milestone: v1.15
status: complete
phase_role: final
audit: pass
---/ci---
2026-07-30 14:37:58 +00:00
Jon Chery
e15eea067b
docs(milestone): complete v1.15 — Nova Rebrand (tag v1.15.4)
...
P5 final-review-ship complete: dual-read fallback removed (REQ-164) —
core/env.py NOVA-only, .env.secrets load paths NOVA-only (G-106 retired),
nova_tagging.py hard-fails any acdl:* tag, legacy ACDL_* Gitea secrets
deleted, ACDL_LIFECYCLE_MODE/ACDL_LOCAL_TIER/ACDL_HITL_* exports removed
from scripts, SNS subject → Nova SoD halt (P1-2), bootstrap scripts
NOVA-only. Review: 2 P0 auto-fixed (duplicate delenv), P1-1/P1-2 resolved,
doc-drift fixed. Audit: tags v1.15.0-4 exist; traceability REQ-155..164
all complete; ARCHITECTURE naming table matches codebase. 615 pytest PASS;
run_ci.sh 3-stage PASS. NOVA_MIGRATION.md marked COMPLETE.
---ci---
project: acdl
phase: 5
milestone: v1.15
status: complete
phase_role: final
requirements:
covered: [REQ-155, REQ-156, REQ-157, REQ-158, REQ-159, REQ-160, REQ-161, REQ-162, REQ-163, REQ-164]
partial: []
---/ci---
2026-07-30 02:23:55 +00:00
Jon Chery
bf8ac0fe49
verify(P4): Nova rebrand AWS resource migration — 4-layer verify PASS
...
VERIFY: structural — all acdl-*→nova-* in terraform (DynamoDB, Secrets,
Lambda, SNS, SG, KMS alias, ECS, ECR, IAM, state bucket, ALB, VPC) +
Lambda defaults (D-111) + nova-deploy role ARN; behavioral — terraform
validate PASS + 615 pytest PASS + run_ci.sh 3-stage PASS; security —
ABAC policy ARNs updated, state-bucket -migrate-state documented;
quality — grep-zero on acdl- in terraform (0 hits). New
docs/NOVA_AWS_MIGRATION.md runbook + scripts/migrate_dynamodb_data.py
(+17 tests). REQ-163 complete.
---ci---
project: acdl
phase: 4
milestone: v1.15
status: verify
requirements_covered: [REQ-163]
---/ci---
2026-07-30 01:56:11 +00:00
Jon Chery
da0de6068a
verify(P3): Nova rebrand SSM path + tag keys — 4-layer verify PASS
...
VERIFY: structural — SSM_PREFIX /acdl→/nova, tag keys acdl:*→nova:* in
terraform + tagging-standard.json, nova_tagging hard mode (_WARN_MODE=False);
behavioral — 598 pytest PASS (+32 new) + run_ci.sh 3-stage PASS + regression
gate 22/22 Verified; security — ABAC PrincipalTag/acdl:owner→nova:owner,
migration scripts dry-run-default; quality — grep-zero on acdl: tag keys
(remaining = legacy-detection constant + migration guide). REQ-161/162
complete. New scripts/migrate_ssm_paths.py + untag_acdl_keys.py (+32 tests).
---ci---
project: acdl
phase: 3
milestone: v1.15
status: verify
requirements_covered: [REQ-161, REQ-162]
---/ci---
2026-07-30 01:40:12 +00:00
Jon Chery
7ea58ec1c9
verify(P2): Nova rebrand code/env-vars/consumer-path — 4-layer verify PASS
...
VERIFY: structural — core/env.py dual-read helper + nova_tagging.py
warn-mode + .acdl/→.nova/ + 21 NOVA_* env vars; behavioral — 566 pytest
PASS + run_ci.sh 3-stage PASS; security — G-106 dual-read in both
.env.secrets load paths (run_platform.sh:294-295 + regression_verify.py
:322-325), G-108 Gitea NOVA_* secrets created (4/5 HTTP 201/204, 1
skip-no-source) + workflow secrets: refs updated; quality — grep-zero
on stray ACDL_ code reads (remaining = intentional dual-read fallback).
REQ-158/159/160 complete.
---ci---
project: acdl
phase: 2
milestone: v1.15
status: verify
requirements_covered: [REQ-158, REQ-159, REQ-160]
---/ci---
2026-07-30 01:27:06 +00:00
Jon Chery
adce478e09
verify(P1): Nova rebrand docs/decks/prose — 4-layer verify PASS
...
VERIFY (4 layers): structural — 57 files rebranded, JSON schemas valid,
pyproject name=nova; behavioral — run_ci.sh 3-stage PASS (lint+test+
check-only); security — no creds touched, S&P theme untouched (D-107);
quality — grep-zero on prose-identity ACDL (remaining hits are justified
literals for P2/P3/P4: env vars, resource names, tag keys, paths, real
repo uses: refs). Mermaid 5/5 PNGs re-exported. Nova tagline added to
README + decks + vision.md (North Star retained, D-106).
NOVA_MIGRATION.md consumer guide shipped.
---ci---
project: acdl
phase: 1
milestone: v1.15
status: verify
requirements_covered: [REQ-155, REQ-156, REQ-157]
---/ci---
2026-07-30 00:58:19 +00:00
Jon Chery
d14b55b774
docs(P00): incorporate grill binding mitigations G-104/G-106/G-108
...
GRILL (ci-griller): 9 axes, 8 findings G-103..G-110, verdict
proceed-with-conditions (conf 0.82). 3 binding mitigations incorporated:
- G-104 (scope/technical, conf 0.90): re-tag Major milestone on its OWN
minor line (v1.15.x), not the v1.14.x patch line (NFR convention).
Precedent: v1.10.2→v1.11.0, v1.9.x→v1.10.0. Updated PLAN/ROADMAP/
PROJECT/REQUIREMENTS/ARCHITECTURE tag refs: v1.15.0(P0)→v1.15.4(P5).
- G-106 (risk/technical, conf 0.88): .env.secrets direct-read paths
(run_platform.sh:288-289 + regression_verify.py:309-312) bypass the
core/env.py helper — P2 MUST dual-read these (NOVA_* first, ACDL_*
fallback) or AWS creds vanish mid-rename. Bound in PLAN.md P2 task 2.
- G-108 (security, conf 0.80): CI workflow secrets: refs (deploy.yml +
modules-lifecycle.yml, .gitea + .github) reference secrets.ACDL_* —
P2 MUST update to secrets.NOVA_* in lockstep with Gitea secret
creation. Bound in PLAN.md P2 task 3 (hard gate). 5 accepted-as-is
findings (G-103/105/107/109/110), 0 open escalations.
---ci---
project: acdl
phase: 0
milestone: v1.15
status: grill
---/ci---
2026-07-30 00:40:35 +00:00
Jon Chery
59a71d332a
docs(init): validate specification — v1.15-Nova rebrand milestone
...
Establish milestone v1.15 (Nova Rebrand) — Major/breaking milestone.
Ideation output (--ideate): 10 requirements REQ-155..REQ-164 mapping
the full ACDL→Nova rebrand across docs, decks, code, configs, CI, env
var prefixes, consumer contract path, SSM paths, AWS tag keys, and
AWS resource names. Staged 4-phase migration + final review/ship.
Tags run on the v1.14.x patch line: v1.14.0 (P0) → v1.14.5 (P5 final).
---ci---
project: acdl
phase: 0
milestone: v1.15
status: specify
---/ci---
2026-07-30 00:00:52 +00:00
Jon Chery
3b1181f39b
Merge milestone/v1.14-refinement — v1.14 complete (NFR Refinement: bug fixes, security, stubs, tests, docs; 20 phases + final; tag v1.13.24)
...
acdl-ci / Lint (push) Successful in 10s
acdl-ci / Platform check-only (offline) (push) Successful in 25s
acdl-ci / Test (push) Successful in 6m34s
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---
2026-07-29 21:36:37 +00:00
Jon Chery
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.
2026-07-29 13:48:06 +00:00
Jon Chery
41c3377b96
feat(P67b): lifecycle tests default to plan-only; ACDL_LIFECYCLE_MODE flag overrides to full (REQ-134)
...
---
ci---
project: acdl
phase: 67b
milestone: v1.12
status: execute
---
/ci---
The modules-lifecycle pipeline now defaults to plan-only (fast, no AWS
mutation, no credentials, no cost) so it runs on every PR. A CI variable
ACDL_LIFECYCLE_MODE (workflow_dispatch input 'lifecycle_mode', default
'plan') overrides to 'full' for the real apply->modify->destroy against
live AWS.
Scripts: run_lifecycle_test.sh / run_lifecycle_destroy.sh /
run_l2_lifecycle_test.sh / run_l2_lifecycle_destroy.sh read the flag and
dispatch to --plan-only (plan mode) or --apply/--destroy (full mode).
Destroy is a no-op exit 0 in plan mode (nothing was applied). VPC-output
injection is gated on full mode.
Workflows: both .github + .gitea (byte-identical) expose lifecycle_mode
as a workflow_dispatch input (choice: plan/full), pass it via env:
ACDL_LIFECYCLE_MODE to every lifecycle step, skip ci-vpc-apply +
ci-vpc-destroy + Read-CI-VPC-outputs in plan mode, and run the lifecycle
+ l2-lifecycle jobs with if: always() so they execute (plan-only) even
when ci-vpc-apply is skipped.
Contract + schema: pipelines/modules-lifecycle.yml gains default_mode:
plan; the schema accepts default_mode (enum plan|full) and a richer
workflow_dispatch inputs shape.
Tests: 14 new tests in test_lifecycle_mode_flag.py (script dispatch) +
10 new tests in TestModulesLifecyclePipeline (workflow flag wiring,
byte-identity, plan-mode skips). Updated test_platform_vpc_destroy to
reflect the plan-mode skip. 516 tests pass; smoke-tested plan mode on
the s3 module (--plan-only green, no AWS apply).
2026-07-29 13:16:03 +00:00
Jon Chery
aebc63127d
docs(P66): v1.12 init + research — presentation refinement drift audit
...
---
ci---
project: acdl
phase: 66
milestone: v1.12
status: specify
---
/ci---
---
ci---
project: acdl
phase: 66
milestone: v1.12
status: research
---
/ci---
Spec: validate v1.12 specification (presentation refinement, decks-only
surface + one adapter fix + two probe fixes). REQUIREMENTS.md gains
REQ-129..REQ-133. config.json milestone v1.11 -> v1.12, branch
milestone/v1.12-presentation.
Research: drift audit (9 items) comparing docs/presentations/* against
v1.11-verified reality. Regression gate (D-091) re-run surfaced 3 Broken
capabilities: CAP-013 (real adapter dedup defect, Class A), CAP-017
(probe over-strict re locals.tf, Class B/C), CAP-018 (probe stale
LocalLambdaStub signature, Class B/C). PRE_MORTEM.md FM-3 requires decks
to match verified reality; the inventory's 22/22 claim is overstated
until CAP-013 is fixed. Decisions D-108 (fix defect inside v1.12),
D-109 (deck version refs @v1.11 -> @v1.12 at Phase 70).
2026-07-29 12:51:13 +00:00
Jon Chery
8c09580c43
docs(milestone): update v1.11 status — all phases complete
...
acdl-ci / Lint (pull_request) Successful in 15s
acdl-ci / Platform check-only (offline) (pull_request) Successful in 33s
acdl-modules-lifecycle / CI VPC apply (pull_request) Successful in 58s
acdl-ci / Test (pull_request) Successful in 4m52s
acdl-modules-lifecycle / L1 lifecycle (alb) (pull_request) Failing after 2m7s
acdl-modules-lifecycle / L1 lifecycle (cloudfront) (pull_request) Failing after 1m30s
acdl-modules-lifecycle / L1 lifecycle (ecr) (pull_request) Successful in 3m2s
acdl-modules-lifecycle / L1 lifecycle (ecs-cluster) (pull_request) Successful in 3m38s
acdl-modules-lifecycle / L1 lifecycle (ecs-service) (pull_request) Failing after 5m15s
acdl-modules-lifecycle / L1 lifecycle (iam-role) (pull_request) Successful in 2m57s
acdl-modules-lifecycle / L1 lifecycle (kms-key) (pull_request) Failing after 1m18s
acdl-modules-lifecycle / L1 lifecycle (rds) (pull_request) Failing after 1m18s
acdl-modules-lifecycle / L1 lifecycle (s3) (pull_request) Successful in 2m56s
acdl-modules-lifecycle / L1 lifecycle (uptime) (pull_request) Failing after 5m19s
acdl-modules-lifecycle / L1 lifecycle (vpc) (pull_request) Successful in 2m56s
acdl-modules-lifecycle / L2 lifecycle (microservice) (pull_request) Failing after 59s
acdl-modules-lifecycle / L2 lifecycle (static-assets) (pull_request) Failing after 1m27s
acdl-modules-lifecycle / L1 lifecycle (waf) (pull_request) Successful in 3m24s
acdl-modules-lifecycle / CI VPC destroy (pull_request) Failing after 20m42s
Update REQUIREMENTS.md traceability table: all 12 v1.11 requirements
(REQ-116, REQ-118..REQ-128) marked complete.
Update ROADMAP.md: v1.11 marked "complete" (was "active").
---ci---
project: acdl
phase: 0
milestone: v1.11
status: complete
requirements:
covered: [REQ-116, REQ-118, REQ-119, REQ-120, REQ-121, REQ-122, REQ-123, REQ-124, REQ-125, REQ-126, REQ-127, REQ-128]
partial: []
---/ci---
2026-07-29 12:24:23 +00:00
Jon Chery
a6e306a904
docs(init): validate v1.11 RESTART specification
...
SPECIFY stage. v1.11 — RESTART: stateless adapter + pipeline-driven
module lifecycle testing. Branches off v1.10.2 (clean); abandons the
failed first attempt (phase/56-iam-re-bootstrap + phase/57-live-deploy-
microservice, which produced 4 drifted VPCs, ran terraform apply from
Python, and had no module lifecycle tests).
Three corrections:
1. Stateless adapter — adapter.py (918 lines, 3 constant tables, 39
type-specific branches) → ~80-line assembler; each L1 ships a real
terraform/ module dir (variables/locals/main/outputs) owning its
resource shape, nested blocks, defaults.
2. Terraform owns lifecycle — run_platform.sh gains --apply/--destroy;
Python never runs terraform; verify_deploy_microservice.py deleted.
3. Pipeline-driven testing — modules-lifecycle pipeline (Gitea + GitHub,
byte-identical) matrix-runs each L1 examples/{simple,complex}.yml
through apply→modify→destroy; no per-module Python.
Single platform VPC (terraform/platform owns ONE VPC; microservice
references it via data source). Deterministic env-aware state keys
(spike/{id}/{env}/terraform.tfstate, stable across lifecycle).
13 phases (P56a–P65). 6 new requirements (REQ-123..128) + 6 carried
(REQ-116,118,119,120,121,122). Feature milestone → v1.11.0.
---ci---
project: acdl
phase: 0
milestone: v1.11
status: specify
---/ci---
2026-07-28 16:07:57 +00:00
Jon Chery
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---
2026-07-27 18:26:00 +00:00
Jon Chery
44d1d19cfd
fix(P54): capability re-verification sweep — 16/16 Verified, 7 adapter defects fixed
...
The v1.1-v1.8 capability re-verification sweep (D-093) found and fixed
7 adapter defects in adapters/terraform/adapter.py that had prevented
the headline E2E from running against live AWS since the v1.7/v1.8
platform simplification. All 16 auto-verifiable capabilities are now
Verified.
Defects fixed in-sweep (D-090: no cap):
1. Duplicate output definitions (per-resource + stack-level both emitted).
2. Duplicate desired_count/launch_type on ECS service.
3. Duplicate target_type/family/load_balancer_type.
4. Missing assume_role_policy/role_name on IAM role (L2 composition gap).
5. Missing cidr_block/vpc_id/name defaults on VPC/subnet/route_table/
ECS cluster/ECR repository.
6. ECR kms_key_arn unsupported arg -> encryption_configuration block.
7. CloudFront OAC + WAF deprecated arg names (AWS provider v5):
signing_behavior, signing_protocol, origin_access_control_id,
s3_origin_config.origin_access_identity, origin_id, rule (singular),
scope=CLOUDFRONT (uppercase).
New live-AWS capability checks (CAP-013..CAP-016):
- terraform init+validate+plan live AWS (microservice): 14 resources, OK
- terraform init+validate+plan live AWS (static-assets): CloudFront+WAF+S3, OK
- DynamoDB outbox table: exists, 9 items
- S3 state bucket: exists, keys=[spike/l2-microservice/terraform.tfstate]
6 IAM-gated cloud resources (CAP-017..CAP-022: contracts table, Lambda,
ECS service, CloudFront stack, uptime-kuma, OIDC role) are documented
as escalated: the spike-runner lacks the IAM permissions to verify
them (chicken-and-egg). The terraform plan path proves the code would
deploy them; the local emulators prove the runtime behavior.
Verified: 513 fast tests pass. run_regression.sh reports 16/16
Verified (was 12; +4 live-AWS). terraform init+validate+plan succeeds
against live AWS for both contracts. No regressions.
---ci---
project: acdl
phase: 54
milestone: v1.10
status: verify
requirements:
covered: [REQ-114]
partial: []
decisions: [D-090, D-093]
regression:
- { capability: CAP-013, status: Verified }
- { capability: CAP-014, status: Verified }
- { capability: CAP-015, status: Verified }
- { capability: CAP-016, status: Verified }
---/ci---
2026-07-27 18:21:45 +00:00
Jon Chery
217653d6f4
feat(P53): local emulating adapters (D-092) — full local E2E, no AWS
...
The platform is now fully locally testable without cloud credentials.
The headline E2E (contract -> resolver -> adapter -> S3 state -> ECS
service -> DynamoDB outbox -> contract-ingestor Lambda) runs end-to-end
against the local emulating tier (D-092, REQ-113).
Four local emulating adapters in core/local_emulators.py:
- FlatFileOutbox: flat-file DynamoDB outbox emulator (hash-chained JSONL;
resumable across instances; chain verification).
- LocalEcsEmulator: local ECS Fargate HTTP 200 emulator (free-port
binding on 127.0.0.1; health check; clean destroy).
- LocalS3StateBackend: rewrites the terraform S3 backend to a local
backend (per-stack tfstate in a temp folder).
- LocalLambdaStub: invokes the contract_ingestor handler in-process
(patches _get_dynamodb / _get_secrets_client / urllib.urlopen;
DynamoDB writes redirected to the FlatFileOutbox).
run_platform.sh gains a --local flag that short-circuits to the local
emulating tier (no AWS, no Checkov, no DynamoDB).
Regression gate (D-091) now covers 12 capabilities (was 10): +CAP-011
(local E2E microservice) + CAP-012 (local E2E static-assets).
Verified: 513 fast tests pass (was 502; +11 new). 2 slow local E2E
tests pass. run_regression.sh reports 12/12 Verified. run_platform.sh
--local exits 0 with LOCAL E2E OK. No AWS credentials required.
---ci---
project: acdl
phase: 53
milestone: v1.10
status: verify
requirements:
covered: [REQ-113]
partial: []
decisions: [D-092]
regression:
- { capability: CAP-011, status: Verified }
- { capability: CAP-012, status: Verified }
---/ci---
2026-07-27 17:39:33 +00:00
Jon Chery
9897df04b2
fix(P52): add regression-class VERIFY (D-091) — catches capability decay
...
The prior VERIFY stage was diff-scoped: it checked the phase diff only
and never re-ran underlying platform capability. This structural defect
(D-091) let 8 NFR-patch phases (v1.9.1-v1.9.8, deck rework) pass VERIFY
while the platform they described decayed underneath.
Phase 52 remediation:
- core/regression_verify.py: regression-class VERIFY with 10 seeded
local-tier capability checks (CAP-001..CAP-010). Tags each
Verified/Decayed/Broken; fails closed on any non-Verified.
- scripts/run_regression.sh: shell wrapper; writes
.ciagent/REGRESSION_REPORT.{md,json}; exits non-zero on decay.
- tests/test_verify_regression_mode.py: 11 tests (8 fast + 3 slow).
Confirms the gate catches decay (fails closed) and that regression
mode is additive (diff-scoped VERIFY behavior preserved).
- pyproject.toml: slow marker registered; run_ci.sh excludes slow
tests to avoid recursion.
Verified: 502 fast tests pass (was 493 at v1.9; +9 new). 3 slow
integration tests pass. run_regression.sh reports all 10 seeded
local-tier capabilities Verified against current code. The
decay-surfacing test injects a broken cloud-backed check and confirms
the run tags it Broken and fails closed.
Cloud-backed capability re-verification (live ECS, DynamoDB writes,
Lambda invocation) lands in Phase 54 (D-093).
---ci---
project: acdl
phase: 52
milestone: v1.10
status: verify
requirements:
covered: [REQ-112]
partial: []
decisions: [D-091]
regression:
- { capability: CAP-001, status: Verified }
- { capability: CAP-002, status: Verified }
- { capability: CAP-003, status: Verified }
- { capability: CAP-004, status: Verified }
- { capability: CAP-005, status: Verified }
- { capability: CAP-006, status: Verified }
- { capability: CAP-007, status: Verified }
- { capability: CAP-008, status: Verified }
- { capability: CAP-009, status: Verified }
- { capability: CAP-010, status: Verified }
---/ci---
2026-07-27 17:29:52 +00:00
Jon Chery
772ac721b0
docs(P52): create v1.10 milestone plan — pipeline regression fix + capability re-verification
...
---ci---
project: acdl
phase: 52
milestone: v1.10
status: plan
decisions: [D-090, D-091, D-092, D-093, D-094]
requirements: [REQ-112, REQ-113, REQ-114, REQ-115]
---/ci---
2026-07-27 17:10:09 +00:00
Jon Chery
7585c828f0
docs(P48): vision gaps + badge system + substrate→engine + CR format + agentic tags
...
acdl-ci / Lint (push) Successful in 7s
acdl-ci / Test (push) Successful in 23s
acdl-ci / Platform check-only (offline) (push) Successful in 8s
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---
2026-07-23 14:58:29 +00:00
Jon Chery
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.
2026-07-23 04:46:04 +00:00
Jon Chery
c05ed7a26f
docs(P00): clarify v1.9 — record decisions D-080..D-086
...
---ci---
project: acdl
phase: 0
milestone: v1.9
status: clarify
---/ci---
Full autonomy: all clarifications resolved interactively pre-run + 2
auto-resolved parameters. Decisions recorded (renumbered D-080+ to
avoid collision with v1.8 research decisions D-073..D-077):
- D-080: new milestone v1.9 (feature), ship tag v1.9.0
- D-081: ${env.<field>} + ${contract.<field>} interpolation syntax
- D-082: hybrid per-env promotion (per-env contracts + env workflow input)
- D-083: audit ledger Object Lock/JWS/worker/DLQ deferred (future milestone)
- D-084: attestation matrix offline-testable subset + signed evidence artifacts
- D-085: P1-1 adapter defaults move to L1 interface.json inputs
- D-086: REVIEW.md reconstructed at v1.9 complete; v1.3-v1.8 noted as not-persisted
Auto-resolved: per-env account_id placeholder + stderr warning; SNS topic
defined in Terraform + code reads ACDL_SOD_HALT_TOPIC_ARN.
2026-07-23 04:16:42 +00:00
Jon Chery
136ec6abf3
docs(init): validate v1.9 specification
...
---ci---
project: acdl
phase: 0
milestone: v1.9
status: specify
---/ci---
v1.9 scope (user-directed, 2026-07-23):
- Design doc refresh (hitl_matrix_design.md + audit_ledger_design.md)
- Contract interpolation (${env.<field>} + ${contract.<field>})
- Per-environment CI jobs (no environment field editing for promotion)
- Stub implementation (SoD, HITL gates, attestation matrix, Wiz, Kyverno)
- P1-1 adapter parameterization remediation
Requirements REQ-100..REQ-111 added to REQUIREMENTS.md.
PROJECT.md v1.9 objective + phase table (39-43) appended.
config.json milestone bumped to v1.9 (active).
2026-07-23 04:15:41 +00:00
Jon Chery
f9a93d56cc
docs(milestone): ship v1.8.0 — fix REQUIREMENTS.md header
...
acdl-ci / Lint (push) Successful in 8s
acdl-ci / Test (push) Successful in 26s
acdl-ci / Platform check-only (offline) (push) Successful in 9s
---ci---
project: acdl
phase: 0
milestone: v1.8
status: complete
---/ci---
Ship finalization: REQUIREMENTS.md v1.8 section header corrected
from Active to Complete. All other .ciagent/ files already updated.
2026-07-22 22:36:54 +00:00
Jon Chery
c99da9a58c
docs(milestone): complete v1.8 — P1 remediation + uptime + standards + encryption + decommission + docs
...
---ci---
project: acdl
phase: 0
milestone: v1.8
status: complete
requirements:
covered: [REQ-76, REQ-77, REQ-78, REQ-79, REQ-80, REQ-81, REQ-82, REQ-83, REQ-84, REQ-85, REQ-86, REQ-87, REQ-88, REQ-89, REQ-90, REQ-91, REQ-92, REQ-93, REQ-94, REQ-95, REQ-96, REQ-97, REQ-98, REQ-99]
partial: []
---/ci---
v1.8 milestone complete. 11 phases (28-38), 24 requirements (REQ-76..99).
Track 1 — P1 Remediation (8 issues, all resolved):
- P1-3: SSM fail-loud without CMK + escape hatch
- P1-4: WAF custom rules emit nested HCL blocks
- P1-5: WAF default_action input honored
- P1-6: Terraform-rendered invoke policy (no placeholder account ID)
- P1-7: L2 composition outputs resolved + adapter output blocks
- P1-8: Per-run temp dir (terraform/spike removed)
- P1-9: Forge-agnostic API URLs (GITHUB_API_BASE)
- S1: Static-key override wired to configure-aws-credentials inputs
Track 2 — Encryption + Deletion Protection by Default:
- Per-stack CMK (kms-key primitive, 90-day rotation, no shared keys)
- All 12 primitives have encryption_enabled NFR + kms_key_arn input
- L2 modules wire per-stack CMK to all children
- All 12 primitives have deletion_protection NFR (default true)
- Adapter emits lifecycle { prevent_destroy = true }
- L2 feature flag propagation (inputs.deletion_protection)
Track 3 — Uptime + Standards + Docs:
- uptime-kuma primitive (ECS Fargate, feature flag, alert channels)
- deploy-uptime pipeline stage (separate state)
- Decommission mode (2-step HITL SRE gates + CMDB validation)
- modules/STANDARDS.md (L1+L2 authoring + review standards)
- schemas/README.md, pipelines/README.md, adapters/README.md
Tests: 275 -> 350 (+75 new). All pass. run_ci.sh + check-only green.
Zero pending P1 issues remaining.
2026-07-22 22:24:15 +00:00
Jon Chery
bab2cf363b
docs(init): validate v1.8 specification
...
---ci---
project: acdl
phase: 0
milestone: v1.8
status: specify
---/ci---
v1.8 specification validated. 11 phases (28-38), 24 new requirements
(REQ-76..99). Three tracks: P1 remediation (P1-3..P1-9 + S1), encryption
+ deletion protection by default + decommission alias, uptime monitoring
+ engineering standards + path documentation. Feature milestone, ship
tag v1.8.0.
2026-07-22 21:59:29 +00:00
Jon Chery
0bee8f9bc2
docs(milestone): complete v1.7 — production platform + contract ingestion
...
---ci---
project: acdl
phase: 0
milestone: v1.7
status: complete
requirements:
covered: [REQ-62, REQ-63, REQ-64, REQ-65, REQ-66, REQ-67, REQ-68, REQ-69, REQ-70, REQ-71, REQ-72, REQ-73, REQ-74, REQ-75]
partial: []
---/ci---
v1.7 milestone COMPLETE. 6 phases (22-27), 14 requirements (REQ-62..REQ-75),
all shipped + verified. 272 tests pass. CI pipeline green.
Phase summary:
P22: rename static-asset -> static-assets (D-048) + cloudfront/waf
primitives + production stack (D-049) + @v1.6 bump (D-057).
P23: tagging standard (D-054, D-043 closure) + Wiz adapter (D-052) +
Kyverno adapter (D-053).
P24: platform Lambda + DynamoDB acdl-contracts (D-051) + cross-account IAM.
P25: deploy outputs SSM+PR comment (D-050) + error reporting via Lambda
(D-055) + stage comments.
P26: 3 platform pipelines (platform-test, primitives-plan, patterns-plan) +
release job (D-057) + multi-resource L1 ref fix.
P27: remove consumer-repos + validated per-module examples (D-058) +
RDS primitive (D-059).
Ship tag: v1.7.0 (feature milestone, next minor per ship.md;
v1.6 shipped v1.6.0).
2026-07-22 20:28:18 +00:00
Jon Chery
49462d5e38
feat(P27): remove consumer-repos + rewrite .ciagent historical refs per D-048
...
Delete the consumer-repos/ directory (v1.2 artifact removed in v1.7).
Rewrite all .ciagent/ historical narrative references per D-048 to
describe the removal rather than referencing the directory as existing.
---ci---
project: acdl
phase: 27
milestone: v1.7
status: execute
---/ci---
2026-07-22 20:20:12 +00:00
Jon Chery
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 (a90a756 )
changed_files:
- Task 1 (rename): contracts/static-asset.yaml→static-assets.yaml (git mv); modules/l2/static-asset→static-assets (git mv); sed replaceAll static-asset→static-assets in 22 files (README, docs, scripts/run_platform.sh, pipelines/deploy.yaml, modules/registry.json, tests/*, .ciagent/* historical narrative)
- Task 2 (cloudfront primitive): modules/l1/cloudfront/interface.json + README.md
- Task 3 (waf primitive): modules/l1/waf/interface.json + README.md
- Task 4 (registry): modules/registry.json (+cloudfront, +waf, static-assets renamed)
- Task 5 (augment static-assets): modules/l2/static-assets/composition.json (s3+cloudfront+waf, depth 1); modules/l1/s3/interface.json +instance.json (+bucket_regional_domain_name output); modules/l2/static-assets/README.md (production stack docs)
- Task 6 (adapter): adapters/terraform/adapter.py (+TYPE_MAP/INPUT_MAP/OUTPUT_MAP for cloudfront distribution+OAC+wafv2 webacl; special handling in _emit_resource for OAC defaults, distribution origin/cache_behavior/restrictions/viewer_certificate/web_acl_id, waf scope/default_action/visibility_config/managed rules)
- Task 7 (contract schema): no change needed (generic inputs object; new module names match ^[a-z][a-z0-9-]*$)
- Task 8 (@v1.6 bump): contracts/static-assets.yaml, .gitea/.github/workflows/deploy.yml (ref: v1.6 + header comments), docs/consumer-guide.md, docs/contracts/index.md, docs/pipeline/versioning.md, docs/pipeline/index.md, docs/architecture.md, README.md, modules/l2/microservice/README.md, tests/test_environment_check.py, tests/test_pipeline_contract.py
- Task 9 (floating tags): git tag -f v1.6 v1.6.0; git tag -f v1 v1.6.0
- Task 10 (tests): tests/test_adapter.py (registry 11 entries/9 L1/2 L2; cloudfront+waf type map tests; TestS3Output bucket_regional_domain_name; TestStaticAssetsStack 4 tests); tests/test_contract_resolver.py (+s3/cloudfront/waf resource assertions)
generated:
- terraform/spike/main.tf + terraform.tf (regenerated by run_platform.sh --check-only; reflect static-assets production stack + backend key spike/static-assets/)
notes:
- D-048 full rewrite of .ciagent/ historical narrative (verbatim phase descriptions, REQ-25/27/50, D-036) — produces intentional tautologies (e.g. "Rename static-assets → static-assets") per the decision to override the v1.6 preservation precedent.
- cloudfront interface.json resources array ordered distribution-first so the resolver (first-match wire resolution) routes bucket_regional_domain_name/waf_web_acl_arn/region to the distribution; the OAC gets adapter-provided defaults (name=acdl-oac, origin_type=s3, signing_behavior=always).
- .ciagent/ @v1.4 references left as historical record (D-048 scope was static-asset rename only; @v1.4 is historical narrative of Phase 20).
- s3 OUTPUT_MAP bucket_regional_domain_name not added (identity fallback in adapt() already handles it; OUTPUT_MAP documents non-identity mappings only).
---ci---
2026-07-22 19:56:52 +00:00
Jon Chery
fee59944fd
docs(init): validate v1.7 specification
...
---ci---
project: acdl
phase: 0
milestone: v1.7
status: specify
---/ci---
v1.7 milestone: production platform + contract ingestion + pipeline
maturation. 12 user-directed scope axes (2026-07-22):
1. rename static-asset -> static-assets (D-048)
2. production-ready static-assets stack (cloudfront + waf, D-049)
3. DX-friendly deploy outputs (SSM + PR comment, D-050)
4. central pipeline error reporting via Lambda (D-055)
5. PR comments after every successful stage
6. three platform pipelines (platform-test, primitives-plan, patterns-plan)
7. release job with semver + MAJOR.MINOR/MAJOR tag updates (D-057)
8. platform Lambda + DynamoDB contract ingestion (D-051)
9. tagging standards (Checkov custom rule, D-054, D-043 closure)
10. Wiz adapter (D-052)
11. Kyverno adapter (D-053)
12. remove consumer-repos + validated per-module examples (D-058) + RDS
primitive (D-059)
6 phases (22-27), 14 requirements (REQ-62..REQ-75).
Ship tag: v1.7.0 (feature milestone, next minor; v1.6 shipped v1.6.0).
2026-07-22 19:47:08 +00:00
Jon Chery
05372abdfc
audit(v1.6): fix stale acdl_platform refs in ciagent files
...
acdl-ci / Lint (push) Successful in 8s
acdl-ci / Test (push) Successful in 18s
acdl-ci / Platform check-only (offline) (push) Successful in 9s
---ci---
project: acdl
phase: 0
milestone: v1.6
status: audit
verdict: CLEAN (after fixes)
---/ci---
Audit found stale acdl_platform/ references in .ciagent/ files that
described the package by its pre-rename name. Fixed:
- REQUIREMENTS.md REQ-53: updated to reflect the actual core/ rename
(was 'platform/', the original target that shadows stdlib).
- ROADMAP.md overview line 315: acdl_platform/ -> core/ (platform/
shadows stdlib).
- ROADMAP.md phase 21 description + success criteria: platform/ -> core/
(already partially fixed during run; this completes it).
- ARCHITECTURE.md line 345-346: acdl_platform/*.py -> core/*.py.
- PERSONAS.md: all territory globs + typecheck command + co-ownership
references updated from acdl_platform/ to core/.
Historical references preserved (REQUIREMENTS REQ-29/30/32/36/39,
RESEARCH.md) — they record what existed at the time and must not be
rewritten.
Reconstruction: PASS (config.json v1.6, ROADMAP phase 21 complete
v1.6.0, REQUIREMENTS REQ-52..61 complete v1.6.0 — all match git log).
File discipline: PASS (config.json valid, PROJECT.md sections present,
ROADMAP phases match branches, ARCHITECTURE.md matches code structure).
Branch hygiene: PASS (phase/21 merged to main; no orphans).
Commit discipline: PASS (10/10 v1.6 commits have ---ci--- blocks; 0
escalations).
2026-07-22 19:22:12 +00:00
Jon Chery
edc695592a
docs(milestone): complete v1.6 — consumer-facing docs restructure
...
---ci---
project: acdl
phase: 0
milestone: v1.6
status: complete
requirements:
covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56, REQ-57, REQ-58, REQ-59, REQ-60, REQ-61]
partial: []
---/ci---
v1.6 milestone COMPLETE. Single phase (21) shipped + verified (v1.6.0).
All 10 requirements covered:
- REQ-52: scrub .ciagent/.gitea from consumer docs
- REQ-53: rename acdl_platform -> core (platform/ shadows stdlib)
- REQ-54: docs/ Jekyll Pages restructure
- REQ-55: L2->modules, L1->primitives, composition->pattern prose
- REQ-56: forge->platform runners
- REQ-57: README repository roles restated
- REQ-58: Features + Roadmap
- REQ-59: mermaid fix + security-checks + infrastructure-apply
- REQ-60: credentials minus go-gitea/waivers
- REQ-61: environments concept + onboarding scaffold
Verification: 166 tests pass (154 + 12 new environment-check). run_ci.sh
green. Grep sweeps: 0 .ciagent/.gitea/forge/go-gitea/waiver/D-039/D-047/
acdl_platform in consumer surfaces. Feature milestone -> tag v1.6.0.
2026-07-22 18:27:30 +00:00
Jon Chery
c5745de37c
docs(P21): specify phase 21 — consumer-facing docs restructure (v1.6)
...
---ci---
project: acdl
phase: 21
milestone: v1.6
status: specify
---/ci---
Add v1.6 milestone to ROADMAP.md + REQUIREMENTS.md. Phase 21 covers
REQ-52 (scrub .ciagent/.gitea from consumer docs), REQ-53 (rename
acdl_platform -> platform), REQ-54 (docs/ Jekyll Pages restructure),
REQ-55 (L2->modules, L1->primitives, composition->pattern prose),
REQ-56 (forge->platform runners), REQ-57 (README repository roles
restated), REQ-58 (Features + Roadmap), REQ-59 (mermaid fix +
security-checks + infrastructure-apply), REQ-60 (credentials minus
go-gitea/waivers), REQ-61 (environments concept + onboarding scaffold).
Update config.json milestone to v1.6.
2026-07-22 18:17:28 +00:00
Jon Chery
04bf6bc31a
docs(milestone): complete v1.5 — consumer happy path + reusable deploy workflow
...
---ci---
project: acdl
phase: 0
milestone: v1.5
status: complete
requirements:
covered: [REQ-46, REQ-47, REQ-48, REQ-49, REQ-50, REQ-51]
partial: []
---/ci---
v1.5 milestone COMPLETE. Single phase (20) shipped + verified (v1.5.0).
All 6 requirements covered:
- REQ-46: README consumer model + mermaid + L3B/spike scrub
- REQ-47: generic CONSUMER_GUIDE.md + versioned uses: + consumer prereqs
- REQ-48: zero-trust OIDC/ABAC credentials + static-key override + rotation
- REQ-49: reusable byte-identical deploy.yml (Gitea+GitHub)
- REQ-50: contracts/static-asset.yaml @v1.4
- REQ-51: deploy-workflow conformance tests (19 new, 154 total pass)
Audit: CLEAN (reconstruction PASS, file discipline PASS, branch hygiene
PASS, commit discipline PASS). Tag v1.5.0 present.
Operator action: push a v1.4 git tag if not already present, so the
reusable-workflow reference acdl/.gitea/workflows/deploy.yml@v1.4 resolves
at run time for consumer repos.
2026-07-22 17:15:04 +00:00
Jon Chery
9a1ea04f93
docs(P20): post-ship traceability — phase 20 complete (v1.5.0)
...
---ci---
project: acdl
phase: 20
milestone: v1.5
status: shipped
release:
tag: v1.5.0
requirements:
covered: [REQ-46, REQ-47, REQ-48, REQ-49, REQ-50, REQ-51]
---/ci---
Post-ship: ROADMAP.md Phase 20 -> complete (v1.5.0); REQUIREMENTS.md
REQ-46..51 -> complete (v1.5.0). v1.5 milestone: all 6 requirements
covered. Feature milestone → tag v1.5.0.
Ship-time note: the git tag v1.4 (referenced by the reusable workflow
checkout `ref: v1.4` and the consumer `uses:` tag) must be pushed for
the reusable-workflow reference `acdl/.gitea/workflows/deploy.yml@v1.4`
to resolve at run time. Tagging v1.5.0 here; a v1.4 tag is a separate
operator action if not already present.
2026-07-22 17:14:53 +00:00
Jon Chery
895a2f3806
docs(P20): specify phase 20 — consumer happy path + reusable deploy workflow (v1.5)
...
---ci---
project: acdl
phase: 20
milestone: v1.5
status: specify
---/ci---
Add v1.5 milestone to ROADMAP.md + REQUIREMENTS.md. Phase 20 covers
REQ-46 (README consumer model + mermaid + L3B/spike scrub), REQ-47
(generic CONSUMER_GUIDE.md + versioned uses: + consumer-scoped prereqs
+ run-time platform fetch), REQ-48 (zero-trust OIDC/ABAC credentials +
static-key override + daily rotation), REQ-49 (reusable byte-identical
deploy.yml Gitea+GitHub implementing pipelines/deploy.yaml), REQ-50
(contracts/static-asset.yaml @v1.4), REQ-51 (deploy-workflow conformance
tests). Update config.json milestone to v1.5.
2026-07-22 17:09:23 +00:00
Jon Chery
e050e65158
feat(P19): central pipeline contract + shell reproducibility + output streaming (v1.4.1)
...
acdl-ci / Lint (push) Successful in 8s
acdl-ci / Test (push) Successful in 14s
acdl-ci / Platform check-only (offline) (push) Successful in 9s
---ci---
project: acdl
phase: 19
milestone: v1.4
status: execute
---
Add declarative pipeline contract (schemas/pipeline.schema.json +
pipelines/ci.yaml) as single source of truth for both Gitea Actions (dev)
and GitHub Actions (production) workflows. Both workflow files are
byte-identical and validated against the contract by 32 new tests.
Add scripts/run_ci.sh for shell reproducibility — mirrors the CI pipeline
locally (lint → test → check-only), exits 0 with 'CI PIPELINE OK'.
Update scripts/run_platform.sh to stream output by default: terraform
init/validate/plan via tee, Checkov compliance results with per-record
severity/rule/pass-fail, and emitted Terraform in --check-only. New
--quiet flag for log-only mode.
Requirements: REQ-43 (central pipeline contract), REQ-44 (shell
reproducibility), REQ-45 (output streaming). 122 tests pass (90 + 32).
2026-07-22 15:10:54 +00:00
Jon Chery
1598c54a8b
feat(P18): testing + CI/CD pipelines - pytest suite, check-only mode, Gitea + GitHub workflows (v1.3.2)
...
90 offline tests covering adapter, confidence_signal, checkov_adapter,
outbox_writer, and pipeline integration. Identical CI/CD workflows for
Gitea Actions (dev) and GitHub Actions (production). New --check-only
mode for run_platform.sh (offline, no AWS).
---ci---
project: acdl
phase: 18
milestone: v1.3
status: verify
---/ci---
2026-07-22 14:26:11 +00:00