Files
acdl/.ciagent/CLARIFY.md
T
CIAgent 6aac523da7 docs(P00): clarify — D-241/D-242/D-243 + STATE.md intake override
---ci---
project: acdl
phase: 0
milestone: v1.30
status: clarify
decisions: [D-241, D-242, D-243]
---/ci---
2026-08-20 13:14:59 +00:00

9.9 KiB
Raw Blame History

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.

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-241D-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.