Compare commits

...

2 Commits

Author SHA1 Message Date
Jon Chery 574e6cb189 fix(ship): P2 complete — render scripts (REQ-257,258)
Nova Slides Render / render (push) Failing after 58s
---ci---
project: acdl
phase: 2
milestone: v1.22
status: complete
phase_role: execution
---/ci---
2026-08-11 19:39:02 +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
6 changed files with 16 additions and 71 deletions
+6 -6
View File
@@ -1,12 +1,12 @@
{ {
"phase": 0, "phase": 1,
"stage": "complete", "stage": "complete",
"milestone": "v1.22", "milestone": "v1.22",
"phase_role": "pre_execution", "phase_role": "execution",
"attempts": 0, "attempts": 0,
"updated_at": "2026-08-11T14:40:00Z", "updated_at": "2026-08-11T14:45:00Z",
"milestone_complete": false, "milestone_complete": false,
"tag": "v1.21.0", "tag": "v1.21.1",
"requirements": ["REQ-254","REQ-255","REQ-256","REQ-257","REQ-258","REQ-259","REQ-260","REQ-261","REQ-262"], "requirements": ["REQ-254","REQ-255","REQ-256"],
"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)." "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 HTML export inlines images as base64 data URIs. PPTX export requires
`--allow-local-files` so the local PNG diagrams are embedded in the file. `--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` The render + commit + attach pipeline is automated by `scripts/render_slides.sh`.
and `scripts/render_slides.sh`.
### Step 4 — Talking points (presenter cues) ### 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 fi
export CHROME_PATH="$CHROME" export CHROME_PATH="$CHROME"
# --- Step 1: render mermaid diagrams (S&P-themed) --- # --- Step 1: render mermaid diagrams (S&P-themed, 2x scale, transparent bg) ---
echo "=== Step 1: Rendering mermaid diagrams (S&P theme: $THEME_JSON) ===" # 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 if [ -d "$MMD_DIR" ]; then
for mmd in "$MMD_DIR"/*.mmd; do for mmd in "$MMD_DIR"/*.mmd; do
name="$(basename "$mmd" .mmd)" name="$(basename "$mmd" .mmd)"
png="$PNG_DIR/$name.png" png="$PNG_DIR/$name.png"
echo " $name.mmd → $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" \ --configFile "$THEME_JSON" \
--puppeteerConfigFile "$PUPPETEER_CFG" \ --puppeteerConfigFile "$PUPPETEER_CFG" \
-s 2 -b transparent \
--input "$mmd" \ --input "$mmd" \
--output "$png" 2>&1 | grep -v "^$" || true --output "$png" 2>&1 | grep -v "^$" || true
done done
@@ -61,13 +63,14 @@ fi
echo "" echo ""
# --- Step 2: render Marp deck (S&P-themed) --- # --- 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 "=== Step 2: Rendering Marp deck → HTML + PPTX ==="
echo " Theme: $THEME_CSS" echo " Theme: $THEME_CSS"
echo " HTML → $HTML" 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" 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 "" echo ""
# --- Step 3: stage --- # --- Step 3: stage ---
-1
View File
@@ -117,7 +117,6 @@ EXCLUDE_SCRIPTS=(
sync_workflows.py sync_workflows.py
attach_release_asset.py attach_release_asset.py
check_north_star_diff.sh check_north_star_diff.sh
render_deck.sh
render_slides.sh render_slides.sh
) )
+1 -1
View File
@@ -40,7 +40,7 @@ _EXCLUDE_SCRIPTS = {
"untag_acdl_keys.py", "seed_uptime_monitors.py", "untag_acdl_keys.py", "seed_uptime_monitors.py",
"push_consumer_image.py", "sync_workflows.py", "push_consumer_image.py", "sync_workflows.py",
"attach_release_asset.py", "check_north_star_diff.sh", "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). # Synced top-level files (not in any excluded dir).