Jon Chery
3a09ca8ec1
docs(P01): CodeArtifact provisioning check + fallback (REQ-323, backend-engineer)
...
CodeArtifact provisioning check in account 581513795199 could not
complete — no AWS credentials available in the P1 execute environment
("Unable to locate credentials"). Per the task spec, provisioning is NOT
attempted (requires codeartifact:* IAM grants not confirmed for the
execute principal). Documented as a P1 blocker for the CodeArtifact mode
of the publish workflow's wheel-upload step.
docs/codeartifact-provisioning.md records:
- (a) the attempted commands (list-domains, describe-repository,
list-repositories) + the credentials-not-found error
- (b) the required IAM grants for a follow-up provisioning task:
codeartifact:CreateDomain, CreateRepository, GetRepositoryEndpoint,
GetAuthorizationToken, ReadFromRepository, PublishPackageToRepository
+ ssm:PutParameter (CAP-035) + lambda:PublishLayerVersion
- (c) the fallback: a private wheel index selected at deploy time via
the NOVA_WHEEL_INDEX env var (consumers / composite action) and
TWINE_REPOSITORY_URL + TWINE_USERNAME + TWINE_PASSWORD (publish step).
The workflow supports both CodeArtifact mode (NOVA_CODEARTIFACT_DOMAIN
set) and fallback-index mode (unset) — no single hostname is baked
into the synced workflow files.
CAP-035 invariant (SSM /nova/layer/nova-cli/version = <wheel-version>:
<layer-arn>) is unaffected by the index choice and is recorded
atomically after both the wheel upload + layer publish succeed.
---ci---
project: acdl
phase: 1
milestone: v1.28
status: execute
persona: backend-engineer
---/ci---
2026-08-19 22:34:02 +00:00
Jon Chery
a0799f13e5
docs(P04 W2): pilot-run docs (REQ-321) — adapters/README, METRICS, ARCHITECTURE §12.8, consumer onboarding
...
- adapters/README.md: fixed stale TYPE_MAP/INPUT_MAP refs (the adapter is a
stateless assembler); added the blockchain-exchange consumer row + the
Gitea adapter note (SPEC §10 Q1 — no cross-repo uses:)
- docs/METRICS.md: Post-Pilot denominators activated (AI Decision Accuracy +
Human Escalation Frequency + the third metric now have non-zero data from
the blkex-pilot-apply-v0.2 run)
- .ciagent/ARCHITECTURE.md §12.8: Pilot Estate (v1.26 live) — the first real
consumer estate, the live apply, the Gitea adapter, the evidence stream
- .ciagent/nova-blockchain-exchange/README.md: consumer onboarding guide
(deploy invocation, secrets, contract shape, verification)
---ci---
project: acdl
phase: 4
milestone: v1.26
status: execute
wave: W2
---
2026-08-19 03:27:27 +00:00
Jon Chery
38b51f3e6d
feat(P4): regression-gate policies + docs (REQ-304..307)
...
regression/ policies (3): cap-013-adapter-dedup, cap-023-metrics-collector,
cap-024-deck-structure — declarative mirrors of core/regression_verify.py
over capability-inventory JSON. The imperative regression_verify.py is kept
(drives CI gate); the policies are the declarative mirror (IDEATE I1 quality
improvement).
tests: test_regression_policies.py + clean/drifted fixtures. Skip-without-kj.
docs: adapters/README.md (new kyverno-json row + PolicyEngine Protocol
section with how-to-add-OpaEngine), adapters/kyverno-json/README.md (engine,
install, policy directory layout, 4 categories, severity convention),
schemas/README.md (D-116 engine enum reuse note), modules/STANDARDS.md §10
Policy Authoring Standard, docs/METRICS.md (swappable engine narrative).
---ci---
project: acdl
phase: 4
milestone: v1.25
status: execute
phase_role: execution
requirements:
covered: [REQ-304, REQ-305, REQ-306, REQ-307]
partial: []
---/ci---
2026-08-12 18:42:55 +00:00
Jon Chery
25427250ad
docs(P1): consumer guide accuracy fixes — REQ-276..281,290
...
acdl-ci / Lint (push) Successful in 9s
acdl-ci / Test (push) Failing after 22s
acdl-ci / Platform check-only (offline) (push) Successful in 24s
Nova Slides Render / render (push) Failing after 24s
- Step 3 contract fields table: stale uses/module → real id/name/environment/infrastructure (REQ-276)
- Step 4 caller: add environment: dev to match Step 2 (REQ-277)
- Step 5 stage 8: (dev only) → (autonomous in dev; higher envs apply after HITL) (REQ-278)
- Step 8: rewrite with Shape A destroy-then-rebuild + Shape B cross-ref (REQ-279)
- Per-env section: add Shape B lead sentence (REQ-280)
- Reference table: @v1.19 wording + .yaml→.yml extension fix (REQ-281)
- Tests: rename no-field-editing → both-promotion-shapes + new destroy-on-env-change test (REQ-290)
---ci---
project: acdl
phase: 1
milestone: v1.24
status: execute
requirements: [REQ-276,REQ-277,REQ-278,REQ-279,REQ-280,REQ-281,REQ-290]
---/ci---
2026-08-12 14:26:22 +00:00
Jon Chery
e07a210c70
test(P5): ci + tests + readme for single-doc dual-pptx pipeline (REQ-273,274,275)
...
CI workflows: install python-pptx, pin CLI versions, stage both PPTX +
inlined HTML. test_slides_pipeline.py: inverted theme assertion (now
default+inline), deleted source-md tests, added 8 new tests
(penetrate absence, image inlining, python-pptx, benefit class, single
source, speaker-notes comments, default theme, css retained). New
test_pptx_generator.py: slide count, title colors, slide titles, table
rendering, image embedding, benefit callout. README rewritten for 3-step
single-document + dual-PPTX + image-inlining pipeline.
---ci---
project: acdl
phase: 5
milestone: v1.23
status: execute
phase_role: execution
---/ci---
2026-08-12 00:34:23 +00:00
Jon Chery
9bc37301ba
docs(P4): trim word count + purge 'penetrate' repo-wide (REQ-271,272)
...
Targeted ~20-30% word-count trim on 8 verbose slides (1, 5, 7, 8, 13,
14, 20, appendix). Tables + short slides untouched. Spirit preserved.
Removed 'penetrate' (and derivatives) from docs/scope.md, docs/vision.md,
.ciagent/PROJECT.md, .ciagent/CLARIFY.md, .ciagent/NORTH_STAR.md, and
presentation files (G-001 binding revision). RESEARCH.md/PLAN.md/GRILL.md
exempt as decision-history. Slide 5 'penetrates' phrase removed with no
replacement (slide 4 Anti-Goals already excludes the PDLC).
---ci---
project: acdl
phase: 4
milestone: v1.23
status: execute
phase_role: execution
---/ci---
2026-08-12 00:26:37 +00:00
Jon Chery
863f482f9c
feat(P3b): python-pptx generator — structured editable S&P-themed PPTX (REQ-269,270)
...
New scripts/render_pptx.py parses the consolidated -marp.md and
produces a structured, editable, S&P-themed PPTX via python-pptx.
16:9; title slide black bg + red top bar; content slides with red H2
titles, bullets, blockquotes, embedded PNGs, native tables, benefit
callouts. Added python-pptx>=0.6.23 to pyproject [slides] optional-dep.
render_slides.sh Step 4 produces it; attach_release_asset.py extended
for dual PPTX. Output: nova-autonomous-cloud-delivery-python.pptx.
---ci---
project: acdl
phase: 3
milestone: v1.23
status: execute
phase_role: execution
---/ci---
2026-08-12 00:21:17 +00:00
Jon Chery
485d105bcd
docs(P3a): inline images for self-contained HTML (REQ-268)
...
New scripts/inline_images.py (stdlib only: base64, re, mimetypes) —
base64-embeds all relative-path <img src='assets/...'> images into
the rendered HTML so it's redistributable without the assets/ folder.
MIME-sniffs by extension (.png->image/png, .svg->image/svg+xml, etc).
render_slides.sh Step 3 invokes it after the MARP HTML render, before
staging. Verified: 2 images inlined, 0 file-path refs remaining.
---ci---
project: acdl
phase: 3
milestone: v1.23
status: execute
phase_role: execution
---/ci---
2026-08-12 00:17:19 +00:00
Jon Chery
9114227ef1
docs(P2): restore clean style — theme:default + inline style (REQ-265,266,267)
...
Reverted frontmatter theme: nova-sp -> theme: default + inline style:
block with S&P palette (#D6002A, #1B1B1B, Akkurat Pro). Retired
nova-sp-theme.css from render path (kept as reference with header
comment). render_slides.sh drops --theme arg. Converted all 21
**Benefit:** callouts to <div class='benefit'> (red top-rule + black
italic; white on title slides). Matches the old
the-developer-experience.html clean style.
---ci---
project: acdl
phase: 2
milestone: v1.23
status: execute
phase_role: execution
---/ci---
2026-08-12 00:14:07 +00:00
Jon Chery
a47c16245a
docs(P1): consolidate deck to single source of truth (REQ-263,264)
...
Fold speaker notes + transitions + talking points into
nova-autonomous-cloud-delivery-marp.md as Marp HTML comments
(<!-- Speaker notes: ... -->, <!-- Transition: ... -->,
<!-- Talking points: ... -->). The -marp.md is now the sole source of
truth. Deleted the plain nova-autonomous-cloud-delivery.md.
talking-points.md kept as standalone synced aid (header updated).
---ci---
project: acdl
phase: 1
milestone: v1.23
status: execute
phase_role: execution
---/ci---
2026-08-12 00:09:37 +00:00
Jon Chery
25ddc894c2
docs(milestone): complete v1.22 — Nova Deck Layout Fix
...
9 requirements complete (REQ-254..262):
- P1: theme-css — section padding + overflow + image rules + title
chrome + spacing tightening (REQ-254,255,256)
- P2: render-scripts — delete render_deck.sh, pin CLI versions, 2x
scale + transparent bg (REQ-257,258)
- P3: mermaid-relayout — telemetry TB + platform-pipeline 4-node TB,
re-rendered 2x transparent (REQ-259,260)
- P4: deck-content — split slides 3+8 (18->20 main), trim 8
overflowing slides, remove redundant header (REQ-261)
- P5: render-and-test — re-render HTML+PPTX, add 9 layout/aspect-
ratio/theme-structural tests (REQ-262)
- P6: final review + audit + ship (this commit)
Final review fixes: source .md + talking-points re-synced to 20-slide
structure; ![h:480 class:tall] directives applied; README stale
references updated; CSS trailing newline added.
Root cause: nova-sp-theme.css had zero section padding (declared
/* @theme nova-sp */ as a comment, not the @theme directive; did not
@import Marp default theme). Combined with overflow:hidden, blunt
img max-height:320px, header+footer chrome on every slide, and two
P5 diagrams with extreme aspect ratios (13.52x and 0.63x), 8 of 19
slides overflowed. NOT a P5 regression — theme CSS byte-identical
P3->P5; P5 denser content made pre-existing flaws visible.
Tags on v1.21.x line (v1.21.0 P0 -> v1.21.6 P6 final = milestone
release). 32 slide tests pass (23 original + 9 new). 94 key-file
tests pass. Pipeline check exit 0.
---ci---
project: acdl
phase: 6
milestone: v1.22
status: complete
phase_role: final
requirements:
covered: [REQ-254,REQ-255,REQ-256,REQ-257,REQ-258,REQ-259,REQ-260,REQ-261,REQ-262]
partial: []
---/ci---
2026-08-11 20:11:43 +00:00
Jon Chery
631244458f
test(P5): re-render deck + add layout/aspect-ratio/theme-structural tests (REQ-262)
...
Re-rendered HTML + PPTX via render_slides.sh (pinned marp-cli@4.5.0,
mermaid-cli@11.16 .0, 2x transparent PNGs). 22 slides (title + 20 main
+ 1 appendix), 23 media files embedded. Theme embedded in HTML
(--sp-red + padding confirmed).
Added 9 tests to test_slides_pipeline.py (the gap that let the layout
regression through):
- test_theme_css_has_section_padding (REQ-254)
- test_theme_css_suppresses_title_chrome (REQ-256)
- test_theme_css_has_aspect_ratio_aware_images (REQ-255)
- test_png_aspect_ratios_sane (REQ-259/260, scoped to deck-referenced
PNGs only per GRILL revision 1, bounds [0.4, 4.0])
- test_render_slides_has_2x_scale (REQ-258)
- test_render_slides_pins_cli_versions (REQ-257)
- test_render_deck_removed (REQ-257)
- test_html_embeds_theme (REQ-262)
- test_html_slide_count_matches_marp (REQ-262)
32 slide tests pass (23 original + 9 new). 94 tests pass across key
files. run_platform.sh --check-only exit 0.
---ci---
project: acdl
phase: 5
milestone: v1.22
status: execute
phase_role: execution
---/ci---
2026-08-11 19:56:31 +00:00
Jon Chery
cc6071ee53
fix(P4): trim/split 8 overflowing slides + remove header (REQ-261)
...
Split slide 3 (Objectives + Anti-Goals) into Slide 3 (Objectives)
+ Slide 4 (Anti-Goals). Split slide 8 (Attestation Matrix) into
Slide 9 (QA concerns, 3 rows) + Slide 10 (Prod/DR concerns, 7 rows).
Main slide count 18 -> 20.
Trimmed: slide 7 (Pipeline) reduced to 3 bullets (4th covered by
diagram). slide 11 (Telemetry) reduced to 3 bullets. slide 14
(Deferred) merged 3 Live-AWS rows into 1 (8 -> 6 rows). slide 17
(Quarter-by-Quarter) dropped Grounding column (5 -> 4 cols). Global
table cell padding reduced (6px 10px -> 4px 8px) so 8-13 row tables
fit.
Removed header: from frontmatter (keep footer: + paginate only).
The full 51-char deck title in BOTH header and footer was redundant
chrome eating ~35px on every slide.
Updated test_marp_deck_slide_count (18 -> 20 main + 1 appendix).
Updated README slide-count convention (18 -> 20).
---ci---
project: acdl
phase: 4
milestone: v1.22
status: execute
phase_role: execution
---/ci---
2026-08-11 19:49:46 +00:00
Jon Chery
ccbccb02ac
fix(P3): re-layout mermaid diagrams to TB + re-render 2x transparent (REQ-259,260)
...
REQ-259: telemetry-live-ops.mmd kept as flowchart TB (the 3-way
branch C/D/E makes LR too wide at 4.22 aspect; TB gives 0.63 which
is legible at h:480). Re-rendered at 2x transparent (1024x1628).
Marp deck directive updated: ![w:900] -> ![h:480] so the image
renders at a legible height using the img.tall class budget.
REQ-260: platform-pipeline.mmd restructured from 10-node LR chain
(aspect 13.52, illegible 1000x74 strip) to 4-node TB with combined
nodes (Contract->Resolver->Adapter, Wiz->Confidence->Stage gate,
Apply->Evidence). Re-rendered at 2x transparent (552x1116, aspect
0.49). Marp deck directive: ![w:1000] -> ![h:480].
Aspect-ratio bounds revised from [1.2, 2.5] to [0.4, 4.0] (GRILL
revision 1 scoped the test to deck-referenced PNGs only; the bounds
are widened to accept tall diagrams that use img.tall class). The
bounds still catch the original extreme outliers (13.52x and 0.22x).
---ci---
project: acdl
phase: 3
milestone: v1.22
status: execute
phase_role: execution
---/ci---
2026-08-11 19:47:12 +00:00
Jon Chery
358aa62c3a
fix(P2): render scripts — delete render_deck.sh, pin versions, 2x scale (REQ-257,258)
...
REQ-257: deleted scripts/render_deck.sh (omitted --theme, produced
unthemed output; README already documents render_slides.sh as
canonical). Pinned marp-cli@4.5.0 + mermaid-cli@11.16 .0 in
render_slides.sh to prevent boilerplate-CSS drift. Removed
render_deck.sh references from README, sync_to_nova.sh, and
test_no_forge_mentions.py.
REQ-258: added -s 2 -b transparent to mermaid-cli invocation (matches
README spec line 193). Produces crisp 2x PNGs with transparent
backgrounds instead of 1x renders.
---ci---
project: acdl
phase: 2
milestone: v1.22
status: execute
phase_role: execution
---/ci---
2026-08-11 19:38:27 +00:00
Jon Chery
94891af6ee
fix(P1): theme CSS — padding, overflow, image rules, title chrome (REQ-254,255,256)
...
REQ-254: section padding (48px 56px 40px) + overflow:auto (authoring
signal). Root cause fix — zero padding was why every slide looked
jammed against the edges.
REQ-255: aspect-ratio-aware image rules. Replaced blunt
max-height:320px with max-width:100% + max-height:380px +
object-fit:contain. Added .wide/.tall classes. The w: directive on
tall images (slide 9) is no longer silently overridden.
REQ-256: title-slide chrome suppression (section.title header/footer
display:none), h2+lead-paragraph spacing tightening, paragraph margin
reduction, ol styling, table.dense class (4px 8px padding + 16px font
for >=8 row tables), @media print overflow:hidden for PPTX fidelity.
@import rejection documented (GRILL revision 2): Marp default theme
padding (56px 64px) does not reserve header/footer space and its base
styles conflict with the S&P palette. Manual padding gives precise
control over the padding budget.
---ci---
project: acdl
phase: 1
milestone: v1.22
status: execute
phase_role: execution
---/ci---
2026-08-11 19:35:07 +00:00
Jon Chery
5b5e24d535
docs(P5): render + verify — new diagrams, HTML, PPTX, tests pass (REQ-253)
...
Nova Slides Render / render (push) Failing after 59s
New mermaid diagrams (mmd + png):
- platform-pipeline.mmd/.png — slide 6 (two-stage policy scan: Checkov
static → plan → Wiz-or-Checkov → confidence → stage gate → apply)
- telemetry-live-ops.mmd/.png — slide 9 (CloudEvents → cold store →
PowerBI → live ops dashboard)
Re-rendered artifacts:
- nova-autonomous-cloud-delivery.html (S&P-themed, self-contained)
- nova-autonomous-cloud-delivery.pptx (20 slides: title + 18 main + 1
appendix; 21 media files embedded)
Verify:
- tests/test_slides_pipeline.py: 23 pass (18 main + 1 appendix slides; no
badges; no version in footer/title; no D-###/REQ-###/.py paths in
audience slides; old deck files removed; render script default renamed)
- tests/test_pipeline_contract.py: 10 stages (checkov-static + runtime-
policy-scan replace old checkov stage)
- tests/test_no_forge_mentions.py: pass
- tests/test_regression_cap023_024.py: CAP-024 deck structure verified
(18-19 slides, recap+ask, per-slide benefits)
- Full suite: 686 pass + 1 pre-existing attestation failure
(NOVA_ATTESTATION_SIGNING_KEY_ID unset; fails on main without v1.21
changes too)
- run_platform.sh --check-only: exit 0
---ci---
project: acdl
phase: 5
milestone: v1.21
status: execute
phase_role: execution
---/ci---
2026-08-11 14:17:06 +00:00
Jon Chery
301aa2c8d8
docs(P3): marp deck + talking points + README + theme CSS + tests (REQ-245,251,252)
...
Nova Slides Render / render (push) Failing after 58s
Marp deck (nova-autonomous-cloud-delivery-marp.md): synthesize from updated
source-of-truth; 18 main + 1 appendix slides; frontmatter — title 'Nova —
The Autonomous Cloud Delivery Platform', footer without version + without
'Act %{page}/5', title-slide subtitle 'Product Development & Citizen
Developer Overview'; no badges; embedded PNGs.
Talking points (nova-autonomous-cloud-delivery-talking-points.md):
re-distilled to 18-slide + A1 structure.
README.md: update deck title, audience, slide count (18 main + 1 appendix),
directory layout, remove badge docs, update deck table + render commands +
filenames. Document the v1.21 rename + restructure.
Theme CSS (nova-sp-theme.css): fix Appendix A1 table readability — tables
now have explicit white body + black text on any slide background
(including dark/title slides). Item 32.
Tests (test_slides_pipeline.py): add v1.21 assertions — no badges; no
version in footer/title slide; 18 main + 1 appendix slides; no D-###/REQ-
###/.py paths in audience-facing Marp deck or source slide body; old deck
files removed; render script default renamed; README references new deck
name. Update deck path in test_regression_cap023_024.py +
core/regression_verify.py CAP-024 (filename + 18-19 slide range, drop 'Arc
Preview' check per item 3).
attach_release_asset.py: usage example filename updated.
---ci---
project: acdl
phase: 3
milestone: v1.21
status: execute
phase_role: execution
---/ci---
2026-08-11 14:03:06 +00:00
Jon Chery
707a7dbe9b
docs(P2): slides source-of-truth — rename + restructure + rewrite (REQ-245,248,249,252)
...
Nova Slides Render / render (push) Failing after 1m3s
Rename all 5 deck files nova-no-humans-platform* →
nova-autonomous-cloud-delivery* (source, marp, html, pptx, talking-points).
Rewrite the source of truth to 18 main + 1 appendix slides, 4-beat arc
(Problem → Solution → Proof → Roadmap + Ask). All 33 review notes applied:
- Slide 1 'The Problem' (items 3,4,5,7,9): broader problem framing — devs
writing terraform, destructive changes, AI-era 0-day pace, bandwidth
gaps, tribal knowledge/rockstar operator. No arc. No '18 capabilities
verified'. Not 'humans are the problem'.
- Slide 2 'Nova's Vision' (item 11): 'invisible' → 'visible' (operations
become visible — recurring theme); polish for technical audience.
- Slide 3 'Strategic Objectives + Anti-Goals' (items 12,13,14,15,16,17,
18): only Obj+Anti-Goals; provable trust = deterministic scripts
(functions without AI); ROI = 4 CTO metrics (Lead Time, Vuln Count,
MTTR, Spend); drop anti-goals 1,4,5; add 'not upstream dev platform',
'not PDLC replacement'; obj #4 = integration objective; reword benefit.
- Slide 4 'Scope' (item 29): moved up, refined.
- Slide 5 'RACI' (item 30): moved up; add Quality Engineering column;
reassign A from Platform → QE/SRE; rename Release Mgmt → SRE; split
release attestation (Quality attestation + Production readiness).
- Slide 6 'Pipeline' (item 20): Checkov on static code before plan;
Wiz-or-Checkov on plan; never both.
- Slide 7 'Decision Ledger' (items 21,22): drop D-121/122/132; 'AI
decisions = automated decisions'; value = immutable/queryable/
accountable, not sqlite/hash-chain.
- Slide 8 'Attestation Matrix' (item 23): drop bullets below table; add
Description column per concern; drop 'operator-supplied' label.
- Slide 9 'Telemetry & Live Ops' (item 25): expand on value; drop
D-120/125/126; expand on PowerBI live ops dashboard.
- Slide 10 'Decision Ledger + Attestation Coverage' (item 27):
mandatory by design; no prod change without either; queryable for
auditing; full traceability.
- Slide 11 'Cost & ROI': minor polish; 4 CTO metrics referenced.
- Slide 12 'What's Deferred' (items 10,19): remove all D-IDs; plain-
language blockers; no status column.
- Slide 13 'Roadmap to the North Star' (items 10,19): drop D-IDs; no
status column; timeframe-based roadmap.
- Slide 14 '12-Month Product Roadmap' (item 24): drop planned badges.
- Slide 15 'Quarter-by-Quarter' (item 24): drop badges.
- Slide 16 'Atelier (1/2)' (item 31): split — Skills + MCP server overview.
- Slide 17 'Atelier (2/2)' (item 31): split — agentic validation beyond
deterministic scanners + vendoring.
- Slide 18 'Recap + Ask': refresh recap to 4-beat structure.
- Appendix A1 'Metrics Glossary' (item 32): kept; theme CSS fix in P3.
- Global (items 6,10,24,2): tech-leadership benefits; no D-###/REQ-###/
.py paths in audience slides; no badges; no version in footer; final
'less is more' prose pass.
Removed: old Slide 10 (Capability Health), old Slide 12 (Zero-Touch),
old Appendix A2 (Operating Model & Cost). Slide 5 first table removed.
---ci---
project: acdl
phase: 2
milestone: v1.21
status: execute
phase_role: execution
---/ci---
2026-08-11 13:59:30 +00:00
Jon Chery
e7866fda84
docs(P1): strategic docs — thesis rename + NORTH_STAR objectives + RACI restructure
...
Nova Slides Render / render (push) Failing after 1m4s
AUTONOMY_THESIS.md (git mv from NO_HUMANS_THESIS.md): reframe from
'removing humans' to 'autonomy in operations, human at stage gates'.
Drop D-### citations + internal file paths; keep anti-claims, reworded.
Anti-claim #1 now: 'decisions are NOT made by an LLM — deterministic
scripts calculate a score; the platform functions without AI'.
NORTH_STAR.md:
- Vision: 'invisible' → 'visible' (operations become visible — recurring
theme); polish for technical audience (security, remediation velocity,
reliability, lead time).
- Objective #2 : 'provable trust in AI decisions' → 'provable trust in
automated decisions' (deterministic scripts calculate a score;
platform functions without AI).
- Objective #3 : four CTO-grade metrics (Lead Time PR→Prod, Infra Vuln
Count trend, MTTR, Cloud Spend Reduction) → all flow into PowerBI.
- Objective #4 : 'default substrate for agentic consumption' → integrate
with externally owned PDLC/SDLC/Agentic/Citizen Developer platforms
regardless of source; Nova provides skills + MCP endpoints; all prod
intents go through the same controls + quality gates.
- Anti-goals: drop #1 (hyperscaler competitor), #4 (legacy untagged),
#5 (sold to operators). Add: 'not an upstream development platform',
'not a replacement for the PDLC'. Reword #3 (no 'removes humans').
docs/raci.md: 3 roles → 4 roles. Add Quality Engineering column. Rename
Release Management → SRE. Split release attestation into Quality
attestation (QA) + Production readiness (SRE). Platform no longer holds
A for attestation — reassigned to QE/SRE.
docs/scope.md: add integration framing (skills + MCP endpoints, all
sources go through same controls).
Render scripts: default deck name → nova-autonomous-cloud-delivery.
ONBOARDING + terraform/onboarding: 'no-humans' → 'autonomous'.
---ci---
project: acdl
phase: 1
milestone: v1.21
status: execute
phase_role: execution
---/ci---
2026-08-11 13:55:53 +00:00
Jon Chery
ed5ea90654
feat(P3): add 12-month product roadmap slides (REQ-244)
...
Slide 20 — 12-Month Product Roadmap: 4-quarter arc (Pilot Activation →
Provable Trust → Compounding ROI → Agentic Substrate).
Slide 21 — Quarter-by-Quarter Outcomes: detail table (theme, deliverable,
target metric, strategic-objective grounding).
Both grounded in NORTH_STAR's 4 strategic objectives + deferred-metric
candidate milestones. Distinct from Slide 15's deferred-metric unblock paths.
Matching talking-points sections added. HTML + PPTX re-rendered via S&P theme.
---ci---
project: acdl
phase: 3
milestone: v1.20
status: execute
requirements: [REQ-244]
---/ci---
2026-08-07 18:28:01 +00:00
Jon Chery
2273009b95
feat(P2): dedicated S&P theme + render pipeline + CI workflow (REQ-239..243)
...
Create nova-sp-theme.css — S&P Global Energy Marp theme (Red/Black/White
palette applied to all slide chrome: backgrounds, headers/footers, pagination,
tables, blockquotes, code blocks).
Create render_slides.sh — end-to-end pipeline: mermaid PNGs + Marp HTML/PPTX.
Create slides.yml CI workflow — auto-renders on docs/presentations/ changes.
Create test_slides_pipeline.py — 12 tests (theme CSS, Marp frontmatter, script,
workflow, .mmd/.png parity, README retired-deck cleanup).
Update Marp frontmatter: theme: nova-sp + footer v1.20.
Fix presentations/README.md directory layout (remove retired decks).
Re-render HTML + PPTX with S&P theme.
---ci---
project: acdl
phase: 2
milestone: v1.20
status: execute
requirements: [REQ-239, REQ-240, REQ-241, REQ-242, REQ-243]
---/ci---
2026-08-07 18:26:51 +00:00
Jon Chery
0d2cbdb423
feat(P1): remove gitea/gitlab from synced files + simplify docs (REQ-230,231,232)
...
Genericize forge-detection code: gitea→forge/generic_forge, GITEA_ACTOR→FORGE_ACTOR.
Drop .gitea byte-identity test assertions (keep GitHub-side + contract conformance).
Add test_no_forge_mentions.py guard test (REQ-230).
Delete completed migration docs (NOVA_MIGRATION.md, NOVA_AWS_MIGRATION.md).
Move NO_HUMANS_THESIS.md to .ciagent/ (internal artifact).
Strip ciagent-internal provenance from synced docs (REQ-/D-/P-/CAP- IDs,
milestone headers, .ciagent/PROJECT.md citations).
Trim README.md (reusable deploy section, local key rotation paragraph).
Fix version-tag drift (@v1.13→@v1.19, acdl/→nova/).
---ci---
project: acdl
phase: 1
milestone: v1.20
status: execute
requirements: [REQ-230, REQ-231, REQ-232]
---/ci---
2026-08-07 18:20:29 +00:00
Jon Chery
564d4a4ca3
docs(P6): atelier deck slide + 21-slide re-render + README (REQ-226, REQ-227, REQ-228)
...
REQ-226: Slide 19 'Production-Grade Guidance via Atelier' added → 21 total
slides (16 existing + 17 Scope + 18 RACI + 19 Atelier + 2 appendix). Arc
preview updated (v1.18). Talking points synced (slide 19). S&P theme
preserved (177 color refs in HTML). PPTX 22 slides (21 content + title).
REQ-227: README deck table updated — single unified deck, 21 slides, PPTX
committed + release-attached (D-141). Old two-deck table replaced.
REQ-228: HTML + PPTX re-rendered via scripts/render_deck.sh. PPTX committed
(binary, no LFS).
---ci---
project: acdl
phase: 6
milestone: v1.18
status: execute
requirements:
covered: [REQ-226, REQ-227, REQ-228]
partial: []
---/ci---
2026-08-06 15:15:17 +00:00
Jon Chery
2c08c778a9
docs(P4): Atelier skills mapping — 9 skill files + index + BA.A extension (REQ-221, REQ-222)
...
REQ-221: skills/ directory with 9 Atelier-derived skill files mapped to the
BA.A citizen-developer catalog: api, security, data, testing, observability,
errors, devops, infrastructure-as-code, compliance. Each names the Atelier
source path, distills first-principles to the citizen-dev-relevant subset,
links to agent-checklist triggers, maps to BA.A 5-skill catalog.
REQ-222: docs/skills.md index (9-skill table, Atelier provenance, 8 core
principles C1-C8, consumption instructions, reference-only domains, excluded
domains). PROJECT.md BA.A decision extended with the Atelier-derived skill
catalog reference.
---ci---
project: acdl
phase: 4
milestone: v1.18
status: execute
requirements:
covered: [REQ-221, REQ-222]
partial: []
---/ci---
2026-08-06 15:11:12 +00:00
Jon Chery
5775a97388
feat(P3): submission-readiness input contract — schema + validator + docs + tests (REQ-217..220)
...
REQ-217: schemas/submission-readiness.schema.json (JSON Schema draft 2020-12)
defines acceptable-to-start as a superset gate above contract.schema.json:
contractId, environment, tags (5 Nova tags D-054), policyPreconditions,
profile (developer|agentic), appSource (repo+ref), per-env mandatory (W3.E:
qa→e2eSuite+loadTest, prod→runbook+dashboard+oncall, dr→drDrillRef),
agentic markers (naturalLanguageIntent+confidenceAtSubmission+agentTrace).
REQ-218: core/submission_readiness.py validator with check_readiness() +
ReadinessResult (structured pass/fail + reason codes). Wired as
contract_ingestor.py --check-readiness (D-133). Reason codes: MISSING_TAGS,
ENV_MISSING_MANDATORY, AGENTIC_MISSING_INTENT, MISSING_APP_SOURCE,
POLICY_PRECONDITION_MISSING. Never raises — all failures are reason codes.
REQ-219: docs/submission-readiness.md (good + rejected examples +
reason-code catalog + compliance-standard equivalence).
REQ-220: tests/test_submission_readiness.py — 16 tests, all pass.
Covers: good-pass, good-agentic-pass, missing-tags, empty-tag,
qa-missing-e2e, prod-missing-runbook, dr-missing-drdrill, prod-all-pass,
agentic-missing-all, agentic-missing-one, missing-appsource,
appsource-missing-ref, empty-policy, result-structure.
---ci---
project: acdl
phase: 3
milestone: v1.18
status: execute
requirements:
covered: [REQ-217, REQ-218, REQ-219, REQ-220]
partial: []
---/ci---
2026-08-06 15:09:29 +00:00
Jon Chery
e891496163
docs(P2): PDLC-upstream scope + RACI matrix + 2 deck slides (REQ-215, REQ-216, REQ-228)
...
REQ-215: RACI matrix in PROJECT.md (§ RACI Matrix) + docs/raci.md
(citizen-dev-facing copy). 3 roles (Citizen Developer / Platform / Release
Management co-owned). 7 work categories × R/A/C/I. Compliance-standard
equivalence note: any upstream source (AI agent, SDLC, dev platform) is
subject to the same gate.
REQ-216: PDLC-upstream scope in PROJECT.md (§ Scope) + docs/scope.md.
Promotes Core Tenet #2 + Anti-Goal #1 from buried tenets to a dedicated,
unmissable scope statement.
REQ-228: 2 new deck slides (17 Scope + 18 RACI) → 20 slides. Arc preview
updated. Talking points synced. HTML + PPTX re-rendered (21 PPTX slides).
---ci---
project: acdl
phase: 2
milestone: v1.18
status: execute
requirements:
covered: [REQ-215, REQ-216, REQ-228]
partial: []
---/ci---
2026-08-06 15:07:10 +00:00
Jon Chery
71b6a4fa91
feat(P1): restore S&P Global Energy theme + PPTX automation (REQ-214, REQ-228)
...
REQ-214: Restore the S&P Global Energy Marp style: block (from commit
ae0cb58 / v1.9.2 P45) to the unified deck. Colors: H1/H2 #D6002A (red-core),
title-slide bg #1B1B1B (grey-90) + 8px #D6002A top accent, body #1B1B1B,
blockquote border #D6002A, table headers #F0F0F0, font 'Akkurat Pro' with
web-safe fallbacks. Nova header/footer text preserved (rebrand not touched).
HTML re-rendered (229 S&P color refs confirmed).
REQ-228: scripts/render_deck.sh (HTML + PPTX render + git add) +
scripts/attach_release_asset.py (Gitea release asset upload via API). PPTX
is now a first-class committed binary (D-141, no LFS). README updated:
'PPTX not committed' → 'PPTX committed + attached'. PPTX committed (3.6 MiB,
19 slides).
---ci---
project: acdl
phase: 1
milestone: v1.18
status: execute
requirements:
covered: [REQ-214, REQ-228]
partial: []
---/ci---
2026-08-06 15:05:01 +00:00
Jon Chery
0ad6a88c4b
docs(P5): render unified deck to HTML (Step 3 of 4-step deck process)
...
acdl-ci / Lint (push) Successful in 8s
acdl-ci / Test (push) Failing after 23s
acdl-ci / Platform check-only (offline) (push) Successful in 22s
---ci---
project: acdl
phase: 5
milestone: v1.17
status: complete
---/ci---
2026-08-05 01:58:59 +00:00
Jon Chery
eb43e08367
docs(P5): deck rebuild — unified narrative deck (18 slides, x3 arc, per-slide benefits) + retire old decks (D-130)
...
P5 (Wave 3, docs) — REQ-196, 197, 202, 203, 213
New deck (unified narrative):
- docs/presentations/nova-no-humans-platform.md — source of truth (18 slides)
- docs/presentations/nova-no-humans-platform-marp.md — Marp deck
- docs/presentations/nova-no-humans-platform-talking-points.md — presenter cues
5-act arc: Problem -> Vision -> How -> Proof -> Roadmap
x3 structure at deck level (slide 1 = arc preview, slides 2-15 = tell them, slide 16 = recap + ask)
x3 per slide (opens with what it covers, delivers, closes with benefit callout)
Fluid transitions (every slide references the previous slide's close)
Act indicator in Marp footer
Grill binding decisions applied:
- G-Q4: D-122 honesty sentence on slide 7
- G-Q8: stake line (18V+0 consumers) on slide 1
- G-Q9: 4 filler benefit closes rewritten
- G-Q10: slide 12 split into Zero-Touch Efficiency + Cost & ROI
- G-Q11: preempt on slide 14 (deferrals are measurement infra, not autonomy)
- G-Q13: Act 3->4 transition rewritten
- G-Q14: slide 9 benefit reframed to trust substrate
- G-Q15: ROI formula inline + N=0 caveat on slide 13
- G-Q16: slide 16 ask reframed as business decision
Retired (D-130):
- how-the-platform-works.md + marp + html + talking-points (DELETED)
- the-developer-experience.md + marp + html + talking-points (DELETED)
---ci---
project: acdl
phase: 5
milestone: v1.17
status: execute
---/ci---
2026-08-04 20:06:47 +00:00
Jon Chery
b054849a99
docs(P4): metrics catalog + NORTH_STAR integration + trust snapshot + no-humans thesis (REQ-186,191..195,204,210..213)
...
P4 (Wave 3, docs) — REQ-186, 191, 192, 193, 194, 195, 204, 210, 211, 212, 213
New docs:
- docs/METRICS.md — canonical KPI catalog (grounded/derived/deferred)
- docs/metrics/*.md — 13 per-KPI definition-of-success docs (D-127)
- docs/METRICS_DEFERRED_ROADMAP.md — 8 deferred metrics + hot-path plan + re-eval triggers (REQ-210)
- docs/NO_HUMANS_THESIS.md — thesis defensibility brief (REQ-213)
New tools:
- core/metrics/trust_snapshot.py — 5 trust metrics + chain-integrity verdict + snapshot hash (REQ-211)
- scripts/check_north_star_diff.sh — CI check for NORTH_STAR strategic section changes (REQ-204)
Modified:
- .ciagent/config.json — strategic_direction_file: .ciagent/NORTH_STAR.md (REQ-186)
---ci---
project: acdl
phase: 4
milestone: v1.17
status: execute
---/ci---
2026-08-04 20:05:06 +00:00
Jon Chery
3a7604dec0
feat(P3): powerbi export — CSV/JSON views + 8 placeholder views + data dictionary (REQ-190,199,208,209)
...
P3 (Wave 2, feat) — REQ-190, REQ-199, REQ-208, REQ-209
New components:
- core/metrics/powerbi_export.py — exports fact/dim tables + 8 placeholder views to CSV/JSON
- tests/test_powerbi_export.py — 6 tests (all pass)
- docs/METRICS_VIEWS.md — column-level data dictionary (REQ-209)
- metrics/powerbi/NOVA_DASHBOARD_README.md — folder-connector import guide + starter visual model (REQ-208)
8 placeholder views (deferred metrics, headers only):
- placeholder_live_infra_health (D-096)
- placeholder_live_outbox_rate (D-096)
- placeholder_tamper_evident_checkpoints (D-083)
- placeholder_onboarding_funnel (D-113/D-114/D-119)
- placeholder_drift_detection (D-096 + no scheduler)
- placeholder_live_cur_reconciliation (D-096)
- placeholder_sla_downtime (D-096)
- placeholder_predictive_reactive (future emitter)
D-120: Nova-native (CSV/JSON files, no live connector)
D-129: PowerBI ingests via folder connector
---ci---
project: acdl
phase: 3
milestone: v1.17
status: execute
---/ci---
2026-08-04 20:03:12 +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
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
2026-07-30 02:11:12 +00:00
Jon Chery
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---
2026-07-30 01:54:26 +00:00
Jon Chery
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---
2026-07-30 01:38:30 +00:00
Jon Chery
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---
2026-07-30 01:25:24 +00:00
Jon Chery
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---
2026-07-30 00:56:19 +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
139224ff6c
docs(P71b): presentation badge cleanup + platform architecture diagram (v1.13.2)
...
acdl-ci / Lint (push) Successful in 9s
acdl-ci / Platform check-only (offline) (push) Successful in 24s
acdl-ci / Test (push) Successful in 5m51s
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---
2026-07-29 15:34:57 +00:00
Jon Chery
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---
2026-07-29 14:51:27 +00:00
Jon Chery
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---
2026-07-29 14:43:29 +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
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).
2026-07-29 13:27:34 +00:00
Jon Chery
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).
2026-07-29 13:22:56 +00:00
Jon Chery
2397336cbb
verify(P57): code review — 3 P0 auto-fixed, 2 P1+ flagged
...
acdl-ci / Lint (push) Successful in 9s
acdl-ci / Test (push) Successful in 2m9s
acdl-ci / Platform check-only (offline) (push) Successful in 10s
Multi-persona review of the contract surface redesign (031887e + 10b87a6 ).
P0-1 (auto-fixed): scripts/run_platform.sh:437 read the uptime_enabled
feature flag from the OLD top-level contract.inputs.uptime_enabled path,
which P57 removed. With the new contract shape c.get('inputs',{}) returns
{} so the flag silently always defaulted to True — a consumer setting
uptime_enabled:false under infrastructure.<module>.inputs could NOT
disable uptime monitoring. Fixed to scan
infrastructure.<module>.inputs.uptime_enabled (any module false wins).
P0-2 (auto-fixed): docs/consumer-guide.md:417,472 documented the
${contract.module} interpolation token, but P57 dropped the `module`
field. _expand_vars fails loud (D-081) on unknown tokens, so a consumer
following the documented bucket_name example
(acdl-${env.environment}-${contract.module}-...) hit a hard ValueError
at resolve time. Replaced with ${contract.id} (the surviving short
acronym field) in both the example and the interpolation reference table.
P0-3 (auto-fixed): core/regression_verify.py CAP-006 and
tests/test_consumer_guide_per_env_section.py both asserted the dropped
${contract.module} token. Updated CAP-006 to use ${contract.id} and the
doc test to assert ${contract.id} present / ${contract.module} absent.
P1+ flags (post-hoc):
- P1: _namespace_resources does not rewrite ref: targets in
stack.outputs[].from for cross-module refs (within-module is handled;
multi-module refs across fragments are not wired today, but no
contract uses them yet).
- P1: _latest_version raises ValueError (not a clear message) on a
malformed semver string in the registry; the schema pins version to
^\d+\.\d+\.\d+$ so this is unreachable from a contract, but registry
authors have no guardrail.
- P2: docs/consumer-guide.md:407 example path uses .yaml extension while
the repo-wide rename standardized on .yml (consumer-repo paths, not
platform, so non-blocking).
---ci---
project: acdl
phase: 57
milestone: v1.10.2
status: verify
lessons:
- P0 fix applied: uptime_enabled read path migrated to infrastructure.<module>.inputs (was stale top-level contract.inputs)
- P0 fix applied: docs + tests migrated off dropped ${contract.module} interpolation token to ${contract.id}
---/ci---
2026-07-28 12:04:34 +00:00
Jon Chery
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---
2026-07-27 21:43:04 +00:00
Jon Chery
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---
2026-07-27 21:37:40 +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
a4481e20de
docs(P51): full presentation rework — scope, story arc, visuals, appendix
...
acdl-ci / Lint (push) Successful in 9s
acdl-ci / Test (push) Successful in 29s
acdl-ci / Platform check-only (offline) (push) Successful in 10s
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---
2026-07-27 14:46:05 +00:00