Files
acdl/scripts/render_slides.sh
T
Jon Chery e7866fda84
Nova Slides Render / render (push) Failing after 1m4s
docs(P1): strategic docs — thesis rename + NORTH_STAR objectives + RACI restructure
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

77 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# scripts/render_slides.sh — render the Nova presentation deck end-to-end:
# 1. Mermaid .mmd → .png (S&P-themed via sp-theme.json)
# 2. Marp .md → .html + .pptx (S&P-themed via nova-sp-theme.css)
# 3. Stage all rendered artifacts to git.
#
# Usage:
# bash scripts/render_slides.sh [deck-name]
# bash scripts/render_slides.sh nova-autonomous-cloud-delivery
#
# If no deck name is given, defaults to nova-autonomous-cloud-delivery.
set -euo pipefail
DECK="${1:-nova-autonomous-cloud-delivery}"
cd "$(git rev-parse --show-toplevel)"
MMD_DIR="docs/presentations/assets/mmd"
PNG_DIR="docs/presentations/assets/png"
THEME_JSON="$MMD_DIR/sp-theme.json"
THEME_CSS="docs/presentations/assets/nova-sp-theme.css"
PUPPETEER_CFG="docs/presentations/assets/puppeteer-config.json"
SRC="docs/presentations/${DECK}-marp.md"
HTML="docs/presentations/${DECK}.html"
PPTX="docs/presentations/${DECK}.pptx"
[ -f "$SRC" ] || { echo "ERROR: source deck $SRC not found" >&2; exit 1; }
[ -f "$THEME_CSS" ] || { echo "ERROR: theme CSS $THEME_CSS not found" >&2; exit 1; }
# --- Chrome / Chromium discovery ---
CHROME=""
for c in \
/root/.cache/ms-playwright/chromium-1217/chrome-linux64/chrome \
/usr/bin/chromium \
/usr/bin/chromium-browser \
/usr/bin/google-chrome; do
if [ -x "$c" ]; then CHROME="$c"; break; fi
done
if [ -z "$CHROME" ]; then
echo "WARNING: no Chrome/Chromium found — skipping render" >&2
exit 0
fi
export CHROME_PATH="$CHROME"
# --- Step 1: render mermaid diagrams (S&P-themed) ---
echo "=== Step 1: Rendering mermaid diagrams (S&P theme: $THEME_JSON) ==="
if [ -d "$MMD_DIR" ]; then
for mmd in "$MMD_DIR"/*.mmd; do
name="$(basename "$mmd" .mmd)"
png="$PNG_DIR/$name.png"
echo " $name.mmd → $name.png"
npx --yes @mermaid-js/mermaid-cli \
--configFile "$THEME_JSON" \
--puppeteerConfigFile "$PUPPETEER_CFG" \
--input "$mmd" \
--output "$png" 2>&1 | grep -v "^$" || true
done
echo " Rendered $(ls "$PNG_DIR"/*.png 2>/dev/null | wc -l) PNGs."
else
echo " No .mmd directory — skipping mermaid render."
fi
echo ""
# --- Step 2: render Marp deck (S&P-themed) ---
echo "=== Step 2: Rendering Marp deck → HTML + PPTX ==="
echo " Theme: $THEME_CSS"
echo " HTML → $HTML"
npx --yes @marp-team/marp-cli@latest --allow-local-files --theme "$THEME_CSS" "$SRC" -o "$HTML" 2>&1 | tail -3
echo " PPTX → $PPTX"
npx --yes @marp-team/marp-cli@latest --allow-local-files --theme "$THEME_CSS" "$SRC" -o "$PPTX" 2>&1 | tail -3
echo ""
# --- Step 3: stage ---
echo "=== Step 3: Staging rendered artifacts ==="
git add "$PNG_DIR"/*.png "$HTML" "$PPTX" 2>/dev/null || true
echo "=== Done: staged $(ls "$PNG_DIR"/*.png 2>/dev/null | wc -l) PNGs + $HTML + $PPTX ==="