docs(init): validate specification — REQ-372 leadership deck (v1.30)
---ci--- project: acdl phase: 0 milestone: v1.30 status: specify ---/ci---
This commit is contained in:
@@ -4,12 +4,12 @@
|
||||
"milestone": "v1.30",
|
||||
"phase_role": "pre_execution",
|
||||
"attempts": 0,
|
||||
"updated_at": "2026-08-20T11:00:00Z",
|
||||
"updated_at": "2026-08-20T13:15:00Z",
|
||||
"project": "acdl",
|
||||
"projects": ["acdl", "nova-blockchain-exchange"],
|
||||
"active_milestone": "v1.30",
|
||||
"milestone_branch": null,
|
||||
"phase_branch": null,
|
||||
"milestone_branch": "milestone/v1.30-leadership-deck",
|
||||
"phase_branch": "phase/00-pre-execution",
|
||||
"tag_line": "v1.29.x",
|
||||
"phase_name": "pre-execution",
|
||||
"milestone_type": "feature",
|
||||
@@ -23,5 +23,5 @@
|
||||
"branches_deleted": true,
|
||||
"releases_created": true
|
||||
},
|
||||
"notes": "v1.29 COMPLETE (v1.28.6, merged to main 9dc5669, 8 Gitea releases ids 803-810). Checkpoint cleared per run.md. v1.30 PDLC Phase 0 intake authored (STATE.md updated 2026-08-20, commit 713ad2e). Initiative: Leadership Presentation Deck (≤7 slides, S&P theme, 18-month CDLC→SDLC→PDLC roadmap). Next: /ci-run to execute v1.30 Phase 0 (SPECIFY→CLARIFY→RESEARCH→PLAN→GRILL)."
|
||||
"notes": "v1.30 Phase 0 SPECIFY complete. REQ-372.1...12 added to REQUIREMENTS.md. v1.30 milestone section + Slide Content Map appended to PROJECT.md. Tags run on v1.29.x line: v1.29.1 (P0), v1.29.2 (P1), v1.29.3 (P2 = milestone release). Next: CLARIFY (D-241..D-243)."
|
||||
}
|
||||
+355
-1
@@ -662,4 +662,358 @@ New requirements REQ-354..REQ-369 + REQ-371 + REQ-363b — full text in
|
||||
> milestone release). Milestone branch:
|
||||
> `milestone/v1.29-reposplit-identity`. Phase-by-phase task breakdown,
|
||||
> wave ordering, and persona assignments will live in `.ciagent/PLAN.md`.
|
||||
> Authoritative resume state: `.ciagent/CHECKPOINT.json`.
|
||||
> Authoritative resume state: `.ciagent/CHECKPOINT.json`.
|
||||
|
||||
## v1.30 — Single-shot Leadership Deck (active, presented August 2026)
|
||||
|
||||
> **Feature milestone — single-shot PPTX leadership deck.** A
|
||||
> hand-authored Marp markdown deck rendered via the existing
|
||||
> `scripts/render_pptx.py` pipeline, presented live to Infrastructure
|
||||
> & Operations leadership (CTO + VP Technology + Product Management)
|
||||
> in August 2026, securing architecture endorsement and a November
|
||||
> 2026 runway to demonstrate Nova's next milestone. The deck is a
|
||||
> **discrete artifact** (D-241: NOT a compression of the existing
|
||||
> citizen-developer pitch `nova-autonomous-cloud-delivery-marp.md`,
|
||||
> which remains untouched).
|
||||
>
|
||||
> Tags run on the **v1.29.x** line: `v1.29.1` (P0) → `v1.29.2` (P1
|
||||
> execution) → `v1.29.3` (P2 final review = milestone release).
|
||||
> Milestone branch: `milestone/v1.30-leadership-deck`. Single execution
|
||||
> phase (P1) — this is a single-shot artifact, not a multi-phase
|
||||
> build. Authoritative resume state: `.ciagent/CHECKPOINT.json`.
|
||||
>
|
||||
> **Source spec:** REQ-372 v1.0 (locked 2026-08-20). Full requirement
|
||||
> text in `.ciagent/REQUIREMENTS.md` §v1.30. Slide Content Map (the
|
||||
> source-of-truth for REQ-372.7 content traceability) is reproduced
|
||||
> verbatim below from the locked spec.
|
||||
|
||||
### v1.30 ID allocations (no collisions with shipped history)
|
||||
|
||||
- **Decisions:** `D-241..D-243` (3 decisions, authored in CLARIFY).
|
||||
Max existing D = D-240 (v1.29). Next free: D-244.
|
||||
- **Capabilities:** `CAP-042` (1 capability, appended at ship).
|
||||
Max existing CAP = CAP-041 (v1.29). Next free: CAP-043.
|
||||
|
||||
### v1.30 Scope (CLARIFY-grounded, full autonomy)
|
||||
|
||||
- **In scope:** one hand-authored Marp source
|
||||
(`docs/presentations/nova-leadership-deck-marp.md`, ≤7 slides); one
|
||||
rendered PPTX (`docs/presentations/nova-leadership-deck.pptx` via
|
||||
the existing `scripts/render_pptx.py`, narrowly extended per
|
||||
D-242); speaker notes per slide meeting the depth discipline
|
||||
(REQ-372.4); footer `Nova Platform - Infrastructure & Operations`
|
||||
on all 7 slides (REQ-372.5); S&P theme tokens only (REQ-372.6);
|
||||
related-artifacts header comment (REQ-372.9); smoke test
|
||||
`scripts/check_leadership_deck.sh` runnable on demand, NOT a CI
|
||||
gate (REQ-372.8); vision `[1]` grounding citations in slides 3/5/7
|
||||
speaker notes (REQ-372.12); CAP-042 in STATE.md (REQ-372.10);
|
||||
D-241 record in PROJECT.md (REQ-372.11).
|
||||
- **Out of scope (explicit exclusions):** compression/modification of
|
||||
the existing citizen-developer deck; per-milestone refresh / auto-
|
||||
regeneration; Marp HTML as a primary deliverable; multi-audience
|
||||
variants; `publish.yml` integration; live AWS cutover of covered-
|
||||
reference REQs; coverage floor restoration; S3 Object Lock
|
||||
provisioning; roadmap authoring (PLAN.md remains source of record);
|
||||
new CI plumbing.
|
||||
|
||||
### v1.30 Requirements
|
||||
|
||||
Full text in `.ciagent/REQUIREMENTS.md` §v1.30. Summary:
|
||||
|
||||
- **REQ-372.1** — Source markdown exists and is parseable (7 slides,
|
||||
header comment).
|
||||
- **REQ-372.2** — PPTX render via existing pipeline (7 slides, no
|
||||
python-pptx exceptions).
|
||||
- **REQ-372.3** — Slide count is exactly 7.
|
||||
- **REQ-372.4** — Speaker notes depth per slide (word bands: 1/2/4/6
|
||||
150–300; 3/5 250–400; 7 200–300).
|
||||
- **REQ-372.5** — Footer `Nova Platform - Infrastructure & Operations`
|
||||
on every slide (right-aligned).
|
||||
- **REQ-372.6** — Only S&P theme tokens `#D6002A`, `#1B1B1B`,
|
||||
`#FFFFFF`, `#F0F0F0`.
|
||||
- **REQ-372.7** — Slide-by-slide content matches the Slide Content Map
|
||||
(visual review).
|
||||
- **REQ-372.8** — Smoke test `scripts/check_leadership_deck.sh` exits
|
||||
0 on pass (asserts a–f). Runnable on demand; NOT a CI gate.
|
||||
- **REQ-372.9** — Related-artifacts comment in source header.
|
||||
- **REQ-372.10** — CAP-042 appended to STATE.md at ship.
|
||||
- **REQ-372.11** — D-241 recorded in PROJECT.md at ship.
|
||||
- **REQ-372.12** — Vision `[1]` citations in slides 3, 5, 7 speaker
|
||||
notes (ground to `docs/vision.md`).
|
||||
|
||||
### v1.30 Hard constraints
|
||||
|
||||
- **DO NOT modify** `docs/presentations/nova-autonomous-cloud-delivery-marp.md`
|
||||
(the citizen-developer pitch). Per D-241, the two decks remain
|
||||
discrete artifacts.
|
||||
- **DO NOT add `publish.yml` integration** for this deck. Not tagged
|
||||
or released via the existing pipeline.
|
||||
- **DO NOT wire `scripts/check_leadership_deck.sh` as a CI gate.**
|
||||
Runnable on demand. Single-shot artifact.
|
||||
- **DO NOT extend the deck beyond 7 slides.** Slide count bound by
|
||||
REQ-372.3.
|
||||
- **DO NOT auto-derive future leadership decks** from STATE.md /
|
||||
NORTH_STAR.md. Every leadership artifact is hand-authored.
|
||||
- **DO NOT compress the deck for a sub-audience.** Multi-audience
|
||||
variants are out of scope.
|
||||
- **DO NOT introduce hex colors** outside the 4 S&P theme tokens.
|
||||
|
||||
### v1.30 Authoring conventions
|
||||
|
||||
- **Marp frontmatter:** `marp: true; theme: default; footer: "Nova
|
||||
Platform - Infrastructure & Operations"; paginate: false; size: 16:9`
|
||||
- **Theme tokens (only colors in source):** `#D6002A`, `#1B1B1B`,
|
||||
`#FFFFFF`, `#F0F0F0`
|
||||
- **Slide separator:** `---` on its own line
|
||||
- **Speaker notes:** HTML comments `<!-- ... -->` within the slide
|
||||
body, before the next `---`
|
||||
- **Footer:** exact string `Nova Platform - Infrastructure &
|
||||
Operations` via the Marp `footer:` directive (and rendered as a
|
||||
right-aligned textbox per D-242, since python-pptx does not read
|
||||
the Marp footer directive)
|
||||
- **Per-slide word-count bands:** slides 1/2/4/6 in 150–300; slides
|
||||
3/5 in 250–400; slide 7 in 200–300
|
||||
- **Vision grounding:** slides 3, 5, 7 speaker notes must contain at
|
||||
least one `[1]` citation grounding to the principles, anti-goals,
|
||||
or tenets in `docs/vision.md`
|
||||
|
||||
### v1.30 Render pipeline (existing — narrowly extended per D-242)
|
||||
|
||||
```bash
|
||||
python3 scripts/render_pptx.py docs/presentations/nova-leadership-deck-marp.md \
|
||||
--output docs/presentations/nova-leadership-deck.pptx
|
||||
```
|
||||
|
||||
The existing `scripts/render_pptx.py` is extended to accept an
|
||||
explicit source `.md` path + `--output` filename (D-242). 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. The renderer is also
|
||||
extended to add a right-aligned footer textbox on every slide (the
|
||||
python-pptx path does not read the Marp `footer:` directive).
|
||||
|
||||
### v1.30 phase status (live — tag `v1.29.3` = the v1.30 release)
|
||||
|
||||
- **P0** pre-execution → `v1.29.1` (in progress).
|
||||
- **P1** execution (author + render + smoke test) → `v1.29.2`.
|
||||
- **P2** final review + audit + milestone ship → `v1.29.3` = the
|
||||
v1.30 release.
|
||||
|
||||
### v1.30 Slide Content Map (REQ-372.7 traceability reference)
|
||||
|
||||
The PPTX content is fully specified by the slide drafts below. Each
|
||||
slide carries an exact on-slide body + speaker notes fingerprint.
|
||||
Smoke test does not assert content strings verbatim (brittle); audit
|
||||
verifies by visual review against this map. Any drift requires
|
||||
`CLARIFY`.
|
||||
|
||||
#### Slide 1 — The frictions Nova absorbs
|
||||
|
||||
**On-slide body:**
|
||||
|
||||
> **The friction every delivery team lives today**
|
||||
>
|
||||
> *Velocity is up; the coordination surface around each change is up
|
||||
> faster.*
|
||||
>
|
||||
> → Infrastructure is authored by people who don't specialize in
|
||||
> infrastructure.
|
||||
> → Every change is gated because one misconfiguration can expose the
|
||||
> entire estate.
|
||||
> → Compliance, security, and NFRs are checked late — fueling
|
||||
> remediation cycles that erode delivery cadence and team morale.
|
||||
>
|
||||
> *Nova absorbs all three — owned building blocks, separation of
|
||||
> concerns, attested compliance up front.*
|
||||
|
||||
**Speaker notes (~270 words):** Three-pattern problem frame grounded
|
||||
in the binding-constraint claim [1]. Closing distinguishes
|
||||
**infrastructure patching (Nova's lane)** from **AppSec (application
|
||||
team's lane)** — Nova is not a remediation tool, not a security
|
||||
blanket.
|
||||
|
||||
#### Slide 2 — Nova in one frame
|
||||
|
||||
**On-slide body:**
|
||||
|
||||
> **Nova in one frame**
|
||||
>
|
||||
> *You already recognize this pattern.*
|
||||
>
|
||||
> Every Central IT team curates a golden image for Windows, for Linux,
|
||||
> for macOS. They own it. They patch it. They ship it. Consumers
|
||||
> consume it without thinking about what's inside.
|
||||
>
|
||||
> Nova plays the same role one layer up — for everything that runs
|
||||
> your cloud. S3 buckets with SSE-KMS posture. RDS instances with
|
||||
> deletion protection and PITR. Lambda containers with static ABAC
|
||||
> binaries. ALBs, ECS services, KMS keys, DynamoDB tables. Each one
|
||||
> is owned by the platform team, patched by the platform team,
|
||||
> attested by the platform team, and consumed by anyone who declares a
|
||||
> contract.
|
||||
>
|
||||
> The difference: every primitive is versioned, tested across its
|
||||
> entire lifecycle, and bounded by policy before any consumer ever
|
||||
> touches it.
|
||||
>
|
||||
> *Nova's lane is the infrastructure beneath the application. AppSec,
|
||||
> dependency review, and runtime application security stay where they
|
||||
> have always been — with the application team.*
|
||||
|
||||
**Speaker notes (~210 words):** Trade-off pattern (Central IT vs.
|
||||
Nova both trade per-application control for uniform operability);
|
||||
platform-begins/ends framing [1]; sovereignty-via-boundary argument.
|
||||
|
||||
#### Slide 3 — Two principles that organize everything else
|
||||
|
||||
**On-slide body:**
|
||||
|
||||
> **Two principles that organize everything else**
|
||||
>
|
||||
> *The architecture is principled, not improvised. Two tenets
|
||||
> discipline every other decision.*
|
||||
>
|
||||
> **Sovereign boundary.** Nova governs the delivery lifecycle; it
|
||||
> does not reach upstream into product or software development [1].
|
||||
> Integration with SDLC and PDLC partners happens exclusively through
|
||||
> the validated, published contract surface. What lives outside the
|
||||
> contract is not Nova's domain.
|
||||
>
|
||||
> **Lower autonomous · higher attested.** Lower environments proceed
|
||||
> through agentic automation. Promotion to higher environments
|
||||
> requires deliberate human attestation — not as a rubber stamp, but
|
||||
> as policy-mandated accountability [1]. The compute the platform
|
||||
> makes; the choice the human keeps.
|
||||
>
|
||||
> *Everything else in the architecture inherits from these two.*
|
||||
|
||||
**Speaker notes (~270 words):** Cross-tenet architecture discipline
|
||||
argument — how the four-layer model, HITL gates, policy envelope, and
|
||||
contract schema all inherit from the two tenets [1]. Closes with "The
|
||||
next slide is what the line looks like in 18 months of milestones."
|
||||
|
||||
#### Slide 4 — Live · Attested · Stays human
|
||||
|
||||
**On-slide body:**
|
||||
|
||||
> **Live today**
|
||||
> 41 capabilities across 12 domains. Contract ingestor, audit
|
||||
> outbox, state buckets, and the live pilot run have been operating
|
||||
> in our AWS estate since v1.7; pilot evidence at v1.26 returned
|
||||
> confidence 0.800. DORA + adoption + policy-conformance metrics
|
||||
> flow to PowerBI from the same audit stream as the lineage. Every
|
||||
> finding carries one owner, one patch state, one audit entry — one
|
||||
> pane, no second source of truth. A POC is production-grade by
|
||||
> construction: there is no "POC that became prod" surprise.
|
||||
>
|
||||
> **Attested on promotion**
|
||||
> qa, prod, and dr require a named human approver distinct from the
|
||||
> PR author. Rubber stamps cannot be silently issued.
|
||||
>
|
||||
> **Stays human — by design**
|
||||
> Confidence below the autonomy threshold at qa, prod, or dr triggers
|
||||
> human escalation [1]. Some categories of decision are preserved for
|
||||
> human judgment, and the platform says so out loud.
|
||||
|
||||
**Speaker notes (~230 words):** Three-column claim disambiguation
|
||||
(real / observable / disciplined). Pilot evidence as record, not
|
||||
forecast. Single-pane-of-glass via audit lineage [1]. POC-to-prod
|
||||
discipline [1]. HITL discipline closing [1].
|
||||
|
||||
#### Slide 5 — The boundary keeps us honest
|
||||
|
||||
**On-slide body:**
|
||||
|
||||
> **The boundary keeps us honest**
|
||||
>
|
||||
> *Nova stays where it belongs.*
|
||||
>
|
||||
> **In Nova's lane**
|
||||
> → Infrastructure primitives: S3, RDS, Lambda, ECS, DynamoDB, KMS,
|
||||
> CloudFront.
|
||||
> → Operational guardrails: confidence, policy, attestation, audit
|
||||
> lineage.
|
||||
> → CVE response at the infrastructure layer.
|
||||
>
|
||||
> **Outside Nova's lane**
|
||||
> → Application business logic.
|
||||
> → IDE, sprint, author workflows [1].
|
||||
> → Application-layer security: AppSec, dependency review, runtime
|
||||
> threat modeling.
|
||||
> → VM, bare-metal, OS lifecycles [1].
|
||||
>
|
||||
> *The line is the contract. Everything below the contract is Nova.
|
||||
> Everything above it stays where it has always been.*
|
||||
|
||||
**Speaker notes (~250 words):** Architecture boundary discipline.
|
||||
AppSec stays with app team as autonomy-preserving design choice.
|
||||
Boundary as operating principle, not defensive posture [1].
|
||||
|
||||
#### Slide 6 — The 18-month shape
|
||||
|
||||
**On-slide body:**
|
||||
|
||||
> **The 18-month shape**
|
||||
>
|
||||
> *Where CDLC meets SDLC + PDLC — through the contract surface, not
|
||||
> above it.*
|
||||
>
|
||||
> **α (now → Q4'26) — Operating model + federated governance.** A
|
||||
> named platform-ops body owns the platform; SLAs on every L2 are
|
||||
> ratifiable by platform + consumer. The operating model is
|
||||
> published; integration surfaces for SDLC and PDLC harnesses are
|
||||
> documented at the contract boundary.
|
||||
>
|
||||
> **β (Q1'27) — Auto-published infra observability.** Every consumer
|
||||
> stack ships with CloudWatch dashboards, uptime-kuma monitors, and
|
||||
> alert routing on apply — infrastructure primitives publish
|
||||
> observability as a property, no per-team authoring required.
|
||||
>
|
||||
> **γ (Q2'27) — Runbook generation from telemetry.** Every L1
|
||||
> primitive ships with an auto-generated incident runbook derived
|
||||
> from observed patterns. SREs get a starting runbook, not a blank
|
||||
> page.
|
||||
>
|
||||
> **δ (Q3'27 → Q4'27) — Audit ledger, tamper-resistant + externally
|
||||
> addressable.** The SQLite hash-evidence stream migrates to S3
|
||||
> Object Lock + JWS signatures. External counsel verifies any
|
||||
> production change back to a named human attestation.
|
||||
>
|
||||
> *Nova absorbs no IDE, no editor, no sprint tool, no agent harness.*
|
||||
|
||||
**Speaker notes (~250 words):** Boundary-respecting integration
|
||||
argument. α as unlock + governance discipline [1]. β's infra-vs-app
|
||||
observability discipline [1]. γ's infra-vs-app runbook discipline
|
||||
[1]. δ as audit lineage outward, not upstream [1].
|
||||
|
||||
#### Slide 7 — What we ask · What comes back
|
||||
|
||||
**On-slide body:**
|
||||
|
||||
> **What we ask · What comes back**
|
||||
>
|
||||
> **What we ask.**
|
||||
> Architecture endorsement. Runway to the next milestone.
|
||||
>
|
||||
> **Why now.**
|
||||
> Agentic SDLC is reshaping the delivery curve. What is barely
|
||||
> keepable today — incident response, compliance reconciliation,
|
||||
> security remediation — does not compress at the same rate as the
|
||||
> velocity it has to keep pace with. By the end of 2027, the gap
|
||||
> between delivery acceleration and operational absorption is the
|
||||
> structural risk.
|
||||
>
|
||||
> **What comes back.**
|
||||
> The infrastructure foundation that absorbs the velocity. Metrics
|
||||
> that tell us where to push next. Audit lineage that closes the
|
||||
> regulatory question. The next milestone, **by November 2026**.
|
||||
>
|
||||
> *What we do not ask for: an IDE, a sprint tool, an author workflow,
|
||||
> an upstream pipeline. Nova stays in its lane [1].*
|
||||
|
||||
**Speaker notes (~256 words):** Opens with "This is presented to
|
||||
Infrastructure & Operations leadership in August 2026." Asks for
|
||||
architecture endorsement and runway to next milestone by November
|
||||
2026. Velocity framing with **60% goal as internal directional
|
||||
target, not sourced claim**. Closes with "Use the runway to land the
|
||||
architecture endorsement."
|
||||
+184
-1
@@ -853,4 +853,187 @@ M1/M1.5/M2 cutover gates documented in the operator guide.
|
||||
> gates in `nova-platform-ops` CI (out-of-band). The operator attests
|
||||
> the results in `docs/operator-guide-platform-ops.md` §18 "Cutover
|
||||
> Gates" Result column. P6 audit verifies the template + Result column
|
||||
> exist; the live-green attestation is out-of-band (grill CF-1/CF-2).
|
||||
> exist; the live-green attestation is out-of-band (grill CF-1/CF-2).
|
||||
|
||||
## v1.30 — Single-shot Leadership Deck (active milestone)
|
||||
|
||||
> **Feature milestone — single-shot PPTX leadership deck.** Ships
|
||||
> REQ-372.1 through REQ-372.12 in one execution phase. Tags run on the
|
||||
> **v1.29.x** line (milestone v1.30 → tags v1.29.1..v1.29.3). Tag
|
||||
> `v1.29.3` = the milestone release. The deck is a discrete artifact,
|
||||
> hand-authored (NOT a compression of the existing citizen-developer
|
||||
> pitch per D-241), scoped to a single live presentation to
|
||||
> Infrastructure & Operations leadership in August 2026, securing
|
||||
> architecture endorsement and a November 2026 runway.
|
||||
>
|
||||
> Source: `docs/presentations/nova-leadership-deck-marp.md` (authored
|
||||
> against the Slide Content Map in `.ciagent/PROJECT.md` §v1.30 spec).
|
||||
> Rendered via the existing `scripts/render_pptx.py` (narrowly extended
|
||||
> per D-242 to accept an explicit source path + custom output filename
|
||||
> and to add a per-slide footer textbox). Smoke test:
|
||||
> `scripts/check_leadership_deck.sh` (runnable on demand; NOT a CI gate
|
||||
> per the single-shot constraint). Vision grounding `[1]` citations
|
||||
> resolve to `docs/vision.md` (the spec's `acdl-vision.md` reference).
|
||||
|
||||
### Decisions (locked in CLARIFY, full autonomy — load-bearing for v1.30)
|
||||
|
||||
- **D-241 (Q3 override):** 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.
|
||||
Rationale: the spec §2.2 + cover note forbid compression/mirroring;
|
||||
the Slide Content Map is hand-authored content, not derived.
|
||||
- **D-242 (render pipeline):** The existing `scripts/render_pptx.py`
|
||||
is narrowly extended to (a) accept an explicit source `.md` path +
|
||||
custom output `.pptx` filename (the cover note's invocation
|
||||
`scripts/render_pptx.py docs/presentations/nova-leadership-deck.md`
|
||||
is honoured via a path-aware argv), and (b) render a right-aligned
|
||||
footer textbox on every slide with the exact string
|
||||
`Nova Platform - Infrastructure & Operations` (the python-pptx
|
||||
renderer does not read the Marp `footer:` directive; REQ-372.5
|
||||
requires the footer on every rendered slide). This extension is a
|
||||
non-REQ-372 prerequisite per spec §3.3 Edge 2 ("scope narrowly and
|
||||
update `render_pptx.py` separately"). The source file 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.
|
||||
- **D-243 (date anchor):** August 2026 is a month-only presentation
|
||||
anchor (no specific day); November 2026 is the runway anchor
|
||||
(~90 days). Slide 7 references "Infrastructure & Operations
|
||||
leadership" without naming a specific day. Resolves spec §7 Q1.
|
||||
|
||||
### Requirements
|
||||
|
||||
#### REQ-372.1 — Source markdown exists and is parseable
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** the deck initiative is scoped, **when**
|
||||
`docs/presentations/nova-leadership-deck-marp.md` is read, **then** the
|
||||
file exists, parses as valid Marp markdown, contains exactly 7 slides
|
||||
delimited by `---`, and the file header carries the related-artifacts
|
||||
comment (per REQ-372.9).
|
||||
|
||||
#### REQ-372.2 — PPTX render via existing pipeline
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** the source markdown exists (REQ-372.1), **when**
|
||||
`scripts/render_pptx.py` is invoked against the leadership deck source,
|
||||
**then** `docs/presentations/nova-leadership-deck.pptx` is written with
|
||||
7 slides and python-pptx raised no exceptions.
|
||||
|
||||
#### REQ-372.3 — Slide count is exactly 7
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** the source markdown, **when** slide boundaries are counted,
|
||||
**then** the count equals 7.
|
||||
|
||||
#### REQ-372.4 — Speaker notes depth per slide
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** the source markdown, **when** speaker notes (HTML comments)
|
||||
are extracted per slide, **then** per-slide word counts fall within:
|
||||
slides 1/2/4/6 in 150–300; slides 3/5 in 250–400; slide 7 in 200–300.
|
||||
Smoke test exits non-zero on violation.
|
||||
|
||||
#### REQ-372.5 — Footer on every slide
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** the source markdown's Marp frontmatter `footer:` directive +
|
||||
the python-pptx renderer extension (D-242), **when** the PPTX is
|
||||
rendered, **then** every slide carries the right-aligned footer
|
||||
`Nova Platform - Infrastructure & Operations`.
|
||||
|
||||
#### REQ-372.6 — S&P theme tokens are the only colors used
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** the source markdown, **when** color values are extracted
|
||||
(Marp directives + inline overrides), **then** the only hex colors
|
||||
present are `#D6002A`, `#1B1B1B`, `#FFFFFF`, `#F0F0F0`.
|
||||
|
||||
#### REQ-372.7 — Slide-by-slide content traceability
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** the rendered PPTX, **when** any slide N ∈ [1, 7] is opened,
|
||||
**then** its content matches the **Slide Content Map** in
|
||||
`.ciagent/PROJECT.md` §v1.30 spec. Any deviation from the map requires
|
||||
`CLARIFY` before ship. Smoke test does not assert content strings
|
||||
verbatim (brittle); audit verifies by visual review against the map.
|
||||
|
||||
#### REQ-372.8 — Smoke test exits 0 on pass
|
||||
|
||||
**Priority:** High · **Journey:** J1
|
||||
|
||||
**Given** `scripts/check_leadership_deck.sh` exists, **when** invoked
|
||||
from the repo root, **then** the script asserts: (a) source file
|
||||
exists, (b) slide count = 7, (c) per-slide word counts in band, (d)
|
||||
footer string present in source, (e) only S&P hex colors used, (f)
|
||||
PPTX file exists. Exits 0 on pass, non-zero on fail. Runnable on
|
||||
demand; not wired as a CI gate.
|
||||
|
||||
#### REQ-372.9 — Related-artifacts comment in source header
|
||||
|
||||
**Priority:** Med · **Journey:** J1
|
||||
|
||||
**Given** the source markdown, **when** the file header is inspected,
|
||||
**then** a comment exists that (i) names this deck as the leadership
|
||||
artifact for Infrastructure & Operations, (ii) names August 2026 as
|
||||
the presentation date, (iii) names
|
||||
`nova-autonomous-cloud-delivery-marp.md` as a related-but-distinct
|
||||
artifact and notes that this deck does not compress or modify it.
|
||||
|
||||
#### REQ-372.10 — CAP-042 appended to STATE.md at ship
|
||||
|
||||
**Priority:** Med · **Journey:** J1
|
||||
|
||||
**Given** the deck has shipped, **when** STATE.md is updated at the
|
||||
v1.30 milestone ship wave, **then** a CAP-042 row exists capturing
|
||||
artifact paths (`nova-leadership-deck-marp.md`,
|
||||
`nova-leadership-deck.pptx`), audience (Infrastructure & Operations
|
||||
leadership), single-shot intent, presentation month (August 2026).
|
||||
|
||||
#### REQ-372.11 — D-241 recorded in PROJECT.md at ship
|
||||
|
||||
**Priority:** Med · **Journey:** J1
|
||||
|
||||
**Given** the deck has shipped, **when** PROJECT.md is updated at the
|
||||
v1.30 milestone ship wave, **then** a `D-241` entry exists capturing:
|
||||
(a) single-shot nature of the deck, (b) audience (Infrastructure &
|
||||
Operations leadership), (c) August 2026 anchor + November 2026 runway,
|
||||
(d) explicit decision not to compress the existing citizen-developer
|
||||
deck.
|
||||
|
||||
#### REQ-372.12 — Vision grounding citations in architecture-load slides
|
||||
|
||||
**Priority:** Med · **Journey:** J1
|
||||
|
||||
**Given** the source markdown, **when** the speaker notes are
|
||||
inspected, **then** at least one `[1]` citation appears in slides 3,
|
||||
5, and 7 — the three architecture-load slides — grounding the
|
||||
principles, anti-goals, and integration-boundary claims to
|
||||
`docs/vision.md` (the spec's `acdl-vision.md` reference [1]).
|
||||
|
||||
### v1.30 Traceability (live — see CHECKPOINT.json for authoritative state)
|
||||
|
||||
| REQ | Phase | Status |
|
||||
|-----|-------|--------|
|
||||
| REQ-372.1 | P1 | planned |
|
||||
| REQ-372.2 | P1 | planned |
|
||||
| REQ-372.3 | P1 | planned |
|
||||
| REQ-372.4 | P1 | planned |
|
||||
| REQ-372.5 | P1 | planned |
|
||||
| REQ-372.6 | P1 | planned |
|
||||
| REQ-372.7 | P1 | planned (visual review) |
|
||||
| REQ-372.8 | P1 | planned |
|
||||
| REQ-372.9 | P1 | planned |
|
||||
| REQ-372.10 | P1 | planned |
|
||||
| REQ-372.11 | P1 | planned |
|
||||
| REQ-372.12 | P1 | planned |
|
||||
Reference in New Issue
Block a user