fix(ship): P2 complete — render scripts (REQ-257,258)

---ci---
project: acdl
phase: 2
milestone: v1.22
status: complete
phase_role: execution
---/ci---
This commit is contained in:
Jon Chery
2026-08-11 19:39:02 +00:00
6 changed files with 16 additions and 71 deletions
+6 -6
View File
@@ -1,12 +1,12 @@
{
"phase": 0,
"phase": 1,
"stage": "complete",
"milestone": "v1.22",
"phase_role": "pre_execution",
"phase_role": "execution",
"attempts": 0,
"updated_at": "2026-08-11T14:40:00Z",
"updated_at": "2026-08-11T14:45:00Z",
"milestone_complete": false,
"tag": "v1.21.0",
"requirements": ["REQ-254","REQ-255","REQ-256","REQ-257","REQ-258","REQ-259","REQ-260","REQ-261","REQ-262"],
"notes": "v1.22 P0 complete. Tag v1.21.0. Merged phase/00 -> milestone/v1.22-deck-layout-fix. Release creation failed (local-only fallback). Phase branch deleted. Proceeding to P1 (theme CSS)."
"tag": "v1.21.1",
"requirements": ["REQ-254","REQ-255","REQ-256"],
"notes": "v1.22 P1 complete. Tag v1.21.1. Theme CSS fixed (padding, overflow, image, title chrome). 23 slide tests pass. Proceeding to P2 (render scripts)."
}
+1 -2
View File
@@ -84,8 +84,7 @@ CHROME_PATH=/root/.cache/ms-playwright/chromium-1217/chrome-linux64/chrome \
HTML export inlines images as base64 data URIs. PPTX export requires
`--allow-local-files` so the local PNG diagrams are embedded in the file.
The render + commit + attach pipeline is automated by `scripts/render_deck.sh`
and `scripts/render_slides.sh`.
The render + commit + attach pipeline is automated by `scripts/render_slides.sh`.
### Step 4 — Talking points (presenter cues)
-56
View File
@@ -1,56 +0,0 @@
#!/usr/bin/env bash
# scripts/render_deck.sh — render a Marp deck to HTML + PPTX, commit both to git.
# REQ-228 (v1.18): PPTX is now a first-class committed artifact + release attachment.
#
# Usage:
# bash scripts/render_deck.sh <deck-name>
# bash scripts/render_deck.sh nova-autonomous-cloud-delivery
#
# Renders:
# docs/presentations/<deck-name>-marp.md → docs/presentations/<deck-name>.html (committed)
# → docs/presentations/<deck-name>.pptx (committed, binary)
#
# The PPTX is also attached to the current phase's Gitea release via
# scripts/attach_release_asset.py (call separately after ship, or this script
# will invoke it if NOVA_GITEA_RELEASE_ID is set).
set -euo pipefail
DECK="${1:?Usage: render_deck.sh <deck-name>}"
cd "$(git rev-parse --show-toplevel)"
SRC="docs/presentations/${DECK}-marp.md"
HTML="docs/presentations/${DECK}.html"
PPTX="docs/presentations/${DECK}.pptx"
if [ ! -f "$SRC" ]; then
echo "ERROR: source deck $SRC not found" >&2; exit 1
fi
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 (HTML/PPTX will need manual re-render)" >&2
exit 0
fi
export CHROME_PATH="$CHROME"
echo "Rendering HTML → $HTML"
npx --yes @marp-team/marp-cli@latest --allow-local-files "$SRC" -o "$HTML" 2>&1 | tail -3
echo "Rendering PPTX → $PPTX"
npx --yes @marp-team/marp-cli@latest --allow-local-files "$SRC" -o "$PPTX" 2>&1 | tail -3
git add "$HTML" "$PPTX"
echo "Staged $HTML + $PPTX for commit."
if [ -n "${NOVA_GITEA_RELEASE_ID:-}" ]; then
echo "Attaching PPTX to Gitea release $NOVA_GITEA_RELEASE_ID..."
python3 scripts/attach_release_asset.py "$PPTX" "$NOVA_GITEA_RELEASE_ID" || \
echo "WARNING: attach failed — PPTX is still committed; attach manually."
fi
+8 -5
View File
@@ -41,16 +41,18 @@ if [ -z "$CHROME" ]; then
fi
export CHROME_PATH="$CHROME"
# --- Step 1: render mermaid diagrams (S&P-themed) ---
echo "=== Step 1: Rendering mermaid diagrams (S&P theme: $THEME_JSON) ==="
# --- Step 1: render mermaid diagrams (S&P-themed, 2x scale, transparent bg) ---
# REQ-258: -s 2 (2x scale) + -b transparent (transparent background) per README spec.
echo "=== Step 1: Rendering mermaid diagrams (S&P theme: $THEME_JSON, 2x, transparent) ==="
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 \
npx --yes @mermaid-js/mermaid-cli@11.16.0 \
--configFile "$THEME_JSON" \
--puppeteerConfigFile "$PUPPETEER_CFG" \
-s 2 -b transparent \
--input "$mmd" \
--output "$png" 2>&1 | grep -v "^$" || true
done
@@ -61,13 +63,14 @@ fi
echo ""
# --- Step 2: render Marp deck (S&P-themed) ---
# REQ-257: pinned marp-cli version (v4.5.0) to prevent boilerplate-CSS drift.
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
npx --yes @marp-team/marp-cli@4.5.0 --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
npx --yes @marp-team/marp-cli@4.5.0 --allow-local-files --theme "$THEME_CSS" "$SRC" -o "$PPTX" 2>&1 | tail -3
echo ""
# --- Step 3: stage ---
-1
View File
@@ -117,7 +117,6 @@ EXCLUDE_SCRIPTS=(
sync_workflows.py
attach_release_asset.py
check_north_star_diff.sh
render_deck.sh
render_slides.sh
)
+1 -1
View File
@@ -40,7 +40,7 @@ _EXCLUDE_SCRIPTS = {
"untag_acdl_keys.py", "seed_uptime_monitors.py",
"push_consumer_image.py", "sync_workflows.py",
"attach_release_asset.py", "check_north_star_diff.sh",
"render_deck.sh", "render_slides.sh",
"render_slides.sh",
}
# Synced top-level files (not in any excluded dir).