8 Commits

Author SHA1 Message Date
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 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 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 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