---ci--- project: acdl phase: 0 milestone: v1.30 status: clarify decisions: [D-241, D-242, D-243] ---/ci---
9.9 KiB
CLARIFY — v1.30 Single-shot Leadership Deck
Autonomy: full. Auto-resolution with assumption logging per
config.autonomy.level: "full". No human escalation unless confidence < 0.60. The user confirmed the 4 framing decisions (milestone numbering, render pipeline path, stale intake assumption override, smoke test PPTX gate) in the pre-run planning conversation. This file records the formal D-IDs and the spec §7 open-question resolutions.
Method
The clarify stage identifies ambiguities in the v1.30 specification (REQ-372 v1.0, locked 2026-08-20) and resolves them at full autonomy. The spec is the user-provided "REQ-372 — Nova Leadership Presentation Deck." Each ambiguity gets a decision ID (D-241+, continuing from v1.29's D-232..D-240), a resolution, a confidence score, and a rationale.
Prior-conversation resolutions (already locked, restated for the record)
These were resolved by the user in the pre-run planning conversation that spawned v1.30. They are load-bearing for v1.30 execution.
Q-M1 — The cover note/spec say "v1.29.x" but the checkpoint says v1.29 is complete and active_milestone is v1.30. What is the milestone number?
Resolution: The milestone is v1.30. The cover note's "v1.29.x"
is the tag line (per run.md branch strategy, tags run on the
previous minor's patch line: milestone v1.30 → tags v1.29.1,
v1.29.2, v1.29.3). The milestone branch is
milestone/v1.30-leadership-deck. v1.29 is complete (merged to main
9dc5669, tag v1.28.6).
Confidence: 1.0 (user-confirmed — "Milestone v1.30, tags v1.29.x").
Decision: n/a (milestone identity, not a D-ID).
Q-M2 — The cover note says scripts/render_pptx.py docs/presentations/nova-leadership-deck.md but render_pptx.py expects {deck}-marp.md naming. How to resolve?
Resolution: Author the source as
docs/presentations/nova-leadership-deck-marp.md to fit the existing
-marp.md pipeline convention. Narrowly extend render_pptx.py to
accept an explicit source .md path + --output filename, and to
render a right-aligned footer textbox on every slide (python-pptx
does not read the Marp footer: directive). The output is
nova-leadership-deck.pptx per spec REQ-372.2. Formalized as D-242.
Confidence: 1.0 (user-confirmed — "Author source as
nova-leadership-deck-marp.md, extend render_pptx.py").
Decision: D-242.
Q-M3 — The post-v1.29 STATE.md intake (assumption 3) says the leadership deck "is a compression, not a rewrite" of the 23-slide citizen-developer deck. The cover note + spec explicitly forbid compression. How to handle?
Resolution: Override the stale intake assumption. The leadership
deck is a discrete, hand-authored artifact — NOT a compression.
The existing citizen-developer deck
(nova-autonomous-cloud-delivery-marp.md) remains untouched. The
spec §2.2 + cover note forbid compression/mirroring; the Slide
Content Map is hand-authored content, not derived. Update STATE.md
intake assumption 3 to reflect the discrete-artifact decision.
Formalized as D-241.
Confidence: 1.0 (user-confirmed — "Override with spec's
discrete-artifact decision").
Decision: D-241.
Q-M4 — The smoke test (REQ-372.8f) must assert PPTX file existence. Given the render environment limitations, should the PPTX-existence check be a hard fail or a conditional skip?
Resolution: Hard fail if .pptx absent. The deck must be
rendered before ship. The render environment is resolved (python-pptx
installed via user-site pip install --user --break-system-packages;
no Chromium needed since python-pptx is the render path, not Marp
CLI). If the environment cannot render, that is a ship blocker to
resolve — not a reason to weaken the gate.
Confidence: 1.0 (user-confirmed — "Hard fail if .pptx absent").
Decision: n/a (gate severity, not a D-ID — recorded in PLAN.md).
Open questions from the spec's §7 (auto-resolved at full autonomy)
Q1 — Specific meeting date inside August 2026
Spec context: The presentation is in August 2026, but no specific day is named. Slide 7 references "Infrastructure & Operations leadership" without naming a day.
Resolution: Anchor to month-only (August 2026). No specific day in the deck text. November 2026 is the runway anchor (~90 days from August 2026). Confidence: 0.95. Impact if wrong: Very low — the meeting is what it is; the deck text doesn't depend on a specific day. Decision: D-243 (date anchor discipline: month-only).
Q2 — Explicit non-compression of the existing citizen-developer deck
Spec context: The two decks (leadership + citizen-developer)
remain discrete artifacts. The existing 23-slide
nova-autonomous-cloud-delivery-marp.md is not compressed or
modified.
Resolution: Document the discrete-artifact constraint in
REQ-372.9 (related-artifacts header comment) + D-241 (this file) +
D-241 record in PROJECT.md at ship (REQ-372.11). Leave the existing
citizen-developer deck untouched. The cover note's hard scope rules
("Do not modify nova-autonomous-cloud-delivery-marp.md") are
binding.
Confidence: 1.0. Impact if wrong: None for this milestone.
Decision: D-241 (restated — the discrete-artifact decision is the
same as Q-M3's override).
Q3 — Assumption: existing scripts/render_pptx.py accepts S&P theme directives and Marp speaker notes without modification
Spec context: The render pipeline is existing; the spec assumes
it works for the new deck. If a theme limitation forces a renderer
change, scope narrowly and update render_pptx.py separately as a
non-REQ-372 task.
Resolution (confirmed by research): The existing render_pptx.py
has two gaps for REQ-372: (a) it expects a {deck} arg and reads
{deck}-marp.md / writes {deck}-python.pptx — it does not accept
an explicit source path or custom output filename; (b) it does not
read the Marp footer: directive (it skips HTML comments at lines
366-379 and never adds a footer textbox). Speaker notes (HTML
comments) are skipped entirely — acceptable for REQ-372.4 (smoke test
checks source word counts, not PPTX-embedded notes). The narrow
extension per D-242 addresses (a) and (b). No other renderer change
is needed. The extension is a prerequisite, scoped separately from
REQ-372 per spec §3.3 Edge 2.
Confidence: 0.92. Impact if wrong: Small follow-up; doesn't
change milestone scope.
Decision: D-242 (restated).
Q4 — Assumption: the 18-month runway shape (α–δ) is acceptable as drafted to I&O leadership
Spec context: Slides 6 + 7 rehearse both architecture-load and political-cover framings. The worked-example granularity was confirmed by the PO.
Resolution: Accept the α–δ shape as drafted. Slides 6 + 7 are the only slide-by-slide revisions that might be needed if leadership pushes back; everything else is locked. No spec change required unless the architectural claim set shifts (spec §3.3 Edge 3). Confidence: 0.85. Impact if wrong: Slide 6 and slide 7 are the only revisions; everything else is locked. Decision: n/a (acceptance, not a D-ID — the shape is in the locked Slide Content Map).
Decisions (locked, full autonomy — load-bearing for v1.30)
D-241 — Leadership deck is discrete, hand-authored, NOT a compression
Q-M3 / Q2. The leadership deck is a discrete, hand-authored
artifact — NOT a compression of the existing 23-slide
citizen-developer pitch
(nova-autonomous-cloud-delivery-marp.md). This overrides the
post-v1.29 STATE.md intake assumption 3 ("is a compression, not a
rewrite"). The existing citizen-developer deck remains untouched.
The spec §2.2 + cover note forbid compression/mirroring; the Slide
Content Map is hand-authored content, not derived. Recorded in
PROJECT.md at ship (REQ-372.11).
Confidence: 1.0.
D-242 — Narrow render_pptx.py extension (path arg + custom output + footer textbox)
Q-M2 / Q3. The existing scripts/render_pptx.py is narrowly
extended to: (a) accept an explicit source .md path + --output
filename (honouring the cover note's invocation pattern), and (b)
render a right-aligned footer textbox on every slide with the exact
string Nova Platform - Infrastructure & Operations (python-pptx
does not read the Marp footer: directive; REQ-372.5 requires the
footer on every rendered slide). The source is authored as
nova-leadership-deck-marp.md to fit the existing -marp.md
pipeline convention; the output is nova-leadership-deck.pptx per
spec REQ-372.2. This extension is a non-REQ-372 prerequisite per
spec §3.3 Edge 2 ("scope narrowly and update render_pptx.py
separately"). No other renderer change (speaker notes are not
embedded in the PPTX — acceptable; smoke test checks source word
counts).
Confidence: 0.92.
D-243 — Date anchor discipline: month-only (August 2026 present, November 2026 runway)
Q1. August 2026 is a month-only presentation anchor (no specific day). November 2026 is the runway anchor (~90 days from August 2026). Slide 7 references "Infrastructure & Operations leadership" without naming a specific day. No spec change required unless the architectural claim set shifts (spec §3.3 Edge 3). Confidence: 0.95.
STATE.md intake assumption override
The post-v1.29 STATE.md intake (line ~526, Agent Assumptions, item 3) states: "The 23-slide existing deck is the source material — the ≤7-slide leadership deck is a compression, not a rewrite."
Override (D-241): This assumption is replaced. The leadership deck is a discrete, hand-authored artifact — NOT a compression. The existing citizen-developer deck remains untouched. The override is recorded in this CLARIFY.md (D-241) and will be reflected in STATE.md at the v1.30 ship wave (CAP-042 row + intake assumption correction).
Requirements impact
No requirements are added, removed, or re-scoped by these decisions. D-241–D-243 are load-bearing context for executing REQ-372.1–.12 as written. The spec is locked (v1.0, 2026-08-20); no spec text changes.