Compare commits

...

9 Commits

Author SHA1 Message Date
CIAgent 2ea9fb4e51 merge(phase/00): v1.31 P0 pre-execution complete (specify+clarify+research+plan)
Nova Slides Render / render (push) Failing after 28s
2026-08-20 14:57:00 +00:00
CIAgent 52b16bbef1 docs(P00): clarify + research + plan — D-247 invariants locked
---ci---
project: acdl
phase: 0
milestone: v1.31
status: plan
---/ci---
2026-08-20 14:56:53 +00:00
CIAgent 68908d7f6a docs(init): validate specification
---ci---
project: acdl
phase: 0
milestone: v1.31
status: specify
---/ci---
2026-08-20 14:56:47 +00:00
CIAgent 85cc962fda merge(phase/05): complementary mermaid diagrams — relationships + stack positioning
acdl-ci / Lint (push) Successful in 11s
acdl-ci / Test (push) Failing after 21s
acdl-ci / Platform check-only (offline) (push) Successful in 24s
nova-release / Compute semver + update tags (push) Failing after 24s
Nova Slides Render / render (push) Failing after 10m11s
nova-publish / Build + push kj ECR image (KJ-STATIC, D-239) (push) Failing after 10m20s
acdl-ci / forge_parity_disabled (push) Failing after 11m30s
nova-publish / Publish wheel + Lambda layer + Lambda zip + Release (push) Has been skipped
---ci---
project: acdl
phase: 5
milestone: v1.30
status: complete
---/ci---
2026-08-20 14:46:31 +00:00
CIAgent ba28017f5b feat(P05): re-author 7 mermaid diagrams as complementary visuals
Diagrams now show relationships + stack positioning, not just restating
slide text:
- slide 1: the widening gap (velocity vs coordination surface) → Nova absorbs
- slide 2: Nova's position in the stack (SDLC/PDLC → contract → Nova → prod)
- slide 3: inheritance tree (two tenets → 6 architectural elements they shape)
- slide 4: confidence-threshold ladder (dev 0.50 → qa 0.75 → prod 0.90 → dr 0.95 + escalation)
- slide 5: stack layers with the contract as the dividing line (above/below)
- slide 6: the arc with what each milestone unlocks + the constant contract surface
- slide 7: proven foundation → runway arc → ask → structural risk if not

Fixed: slide 4 node/subgraph naming collision (DR → DRENV);
slides 2 + 5 reworked to horizontal layout (were too tall for slides).

---ci---
project: acdl
phase: 5
milestone: v1.30
status: execute
---/ci---
2026-08-20 14:46:26 +00:00
CIAgent 17903973aa chore(compress): archive v1.30 phase files — active root 17 → 8 files
acdl-ci / Lint (push) Successful in 9s
acdl-ci / forge_parity_disabled (push) Successful in 11s
acdl-ci / Platform check-only (offline) (push) Successful in 19s
nova-release / Compute semver + update tags (push) Failing after 11m15s
acdl-ci / Test (push) Failing after 11m26s
Archived (snapshotted to .ciagent/archive/, removed from active root):
- CLARIFY.md → CLARIFY-v1.30.md (D-241..D-246)
- RESEARCH.md → RESEARCH-v1.30.md (render pipeline, mermaid, vision)
- GRILL.md → GRILL-v1.30.md (PROCEED 0.88, G-1..G-4)
- PLAN.md → PLAN-v1.30.md (P1 4 waves + P3 polish)
- PERSONAS.md → PERSONAS-v1.30.md (lead+backend+ci-doc+ci-cli)
- IDEATE.md → IDEATE-v1.27.md (stale)
- IAM_POLICY.md → IAM_POLICY-v1.28.md (stale)
- REGRESSION_REPORT.{md,json} → REGRESSION_REPORT-v1.26.{md,json} (stale)

Active root (8 persistent files):
PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md, ARCHITECTURE.md,
NORTH_STAR.md, config.json, CHECKPOINT.json

---ci---
project: acdl
phase: 4
milestone: v1.30
status: complete
action: compress
---/ci---
2026-08-20 14:36:15 +00:00
CIAgent 6dfde4b785 docs(milestone): complete v1.30 Single-shot Leadership Deck (polished, release v1.29.5)
acdl-ci / Lint (push) Successful in 11s
acdl-ci / Test (push) Failing after 23s
acdl-ci / Platform check-only (offline) (push) Successful in 20s
nova-release / Compute semver + update tags (push) Successful in 41s
acdl-ci / forge_parity_disabled (push) Failing after 14m45s
---ci---
project: acdl
phase: 4
milestone: v1.30
status: complete
requirements:
  covered: [REQ-372.1,REQ-372.2,REQ-372.3,REQ-372.4,REQ-372.5,REQ-372.6,REQ-372.7,REQ-372.8,REQ-372.9,REQ-372.10,REQ-372.11,REQ-372.12]
  partial: []
---/ci---
2026-08-20 14:28:16 +00:00
CIAgent 13ee34b5a7 merge(milestone): v1.30 Single-shot Leadership Deck (polished) to main (release v1.29.5)
acdl-ci / Lint (push) Successful in 12s
acdl-ci / Test (push) Failing after 25s
Nova Slides Render / render (push) Failing after 22s
nova-release / Compute semver + update tags (push) Failing after 10m33s
acdl-ci / Platform check-only (offline) (push) Failing after 10m42s
acdl-ci / forge_parity_disabled (push) Failing after 11m7s
---ci---
project: acdl
phase: 4
milestone: v1.30
status: complete
tag: v1.29.5
milestone_release: true
merged_to_main: true
---/ci---
2026-08-20 14:26:55 +00:00
CIAgent ac791c7d23 merge(phase/04): v1.30 P4 final review + milestone ship
---ci---
project: acdl
phase: 4
milestone: v1.30
status: complete
tag: v1.29.5
milestone_release: true
---/ci---
2026-08-20 14:26:55 +00:00
31 changed files with 586 additions and 163 deletions
+22 -13
View File
@@ -1,19 +1,28 @@
{
"phase": 3,
"stage": "complete",
"milestone": "v1.30",
"phase_role": "execution",
"phase": 0,
"stage": "plan",
"milestone": "v1.31",
"phase_role": "pre_execution",
"attempts": 0,
"updated_at": "2026-08-20T15:30:00Z",
"updated_at": "2026-08-20T16:18:00Z",
"project": "acdl",
"projects": ["acdl", "nova-blockchain-exchange"],
"active_milestone": "v1.30",
"milestone_branch": "milestone/v1.30-leadership-deck",
"phase_branch": "phase/03-deck-polish",
"tag_line": "v1.29.x",
"phase_name": "deck-polish",
"milestone_type": "feature",
"reqs_covered": ["REQ-372.1","REQ-372.2","REQ-372.3","REQ-372.4","REQ-372.5","REQ-372.6","REQ-372.7","REQ-372.8","REQ-372.9","REQ-372.10","REQ-372.11","REQ-372.12"],
"active_milestone": "v1.31",
"milestone_branch": "milestone/v1.31-leadership-deck-polish",
"phase_branch": "acdl/phase/00-pre-execution",
"tag_line": "v1.30.x",
"phase_name": "pre-execution",
"milestone_type": "nfr",
"reqs_covered": [],
"reqs_partial": [],
"notes": "v1.30 P3 (deck-polish) COMPLETE. D-244 (cover), D-245 (slide 7 what-works-now), D-246 (7 mermaid diagrams). F1-F5 polish fixes. 7 S&P-themed diagrams rendered via local mmdc (vendored Chromium libs). All checks pass. Next: SHIP (v1.29.4)."
"previous_milestone": {
"milestone": "v1.30",
"tag": "v1.29.5",
"complete": true,
"merged_to_main": "13ee34b",
"branches_deleted": true,
"releases_created": true,
"release_ids": [811,812,813,814,818]
},
"notes": "v1.31 P0 complete (specify+clarify+research+plan). D-247 locked: refinement-only, theme-preserving invariants. Plan = single vertical slice P1: rewrite visible prose + improve layout in nova-leadership-deck-marp.md, re-render PPTX, smoke test must pass."
}
+109 -3
View File
@@ -689,8 +689,8 @@ New requirements REQ-354..REQ-369 + REQ-371 + REQ-363b — full text in
### 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.
- **Decisions:** `D-241..D-246` (6 decisions, authored in CLARIFY
across P0 + P3). Max existing D = D-240 (v1.29). Next free: D-247.
- **D-241** — Leadership deck is a single-shot, discrete, hand-
authored artifact (NOT a compression of the existing citizen-
developer pitch `nova-autonomous-cloud-delivery-marp.md`).
@@ -707,6 +707,18 @@ New requirements REQ-354..REQ-369 + REQ-371 + REQ-363b — full text in
- **D-243** — Date anchor discipline: August 2026 is a month-only
presentation anchor (no specific day); November 2026 is the
runway anchor (~90 days).
- **D-244** — Slide 1 becomes a black-background cover (overrides
grill G-1). Visual treatment only; on-slide text unchanged.
- **D-245** — Slide 7 "What works now" content addition. New
on-slide block before the ask. Records: 13 L1 + 2 L2 live
(confidence 0.800), next-steps arc (greenfield pilots → promote
to prod → SPGE constitutional library → infra layer). "sandbox"
is colloquial for the dev AWS account `581513795199`; "SPGE
constitutional library" is external/unverified-in-repo.
- **D-246** — 7 S&P-themed mermaid diagrams, one per slide,
rendered via local mmdc with vendored Chromium libs (24 Debian
bookworm .deb packages fetched, `.so` files extracted). `.mmd`
sources + PNGs committed for reproducibility.
- **Capabilities:** `CAP-042` (1 capability, appended at ship).
Max existing CAP = CAP-041 (v1.29). Next free: CAP-043.
@@ -1032,4 +1044,98 @@ 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."
architecture endorsement."
## v1.31 — Leadership Deck Polish II (active milestone)
> **NFR/refinement milestone — polish pass on the v1.30 leadership
> deck.** A single refinement phase that enriches the visible on-slide
> prose, improves the slide layout, and re-renders the PPTX — without
> altering the S&P visual theme, the 7-slide structure, the speaker-note
> word-count bands, the vision `[1]` grounding, or the diagram PNGs.
> The v1.30 deck shipped with sparse visible wording (slides 26
> averaged 4367 visible words, leaning on diagrams); v1.31 makes each
> slide stand on its own as a readable artifact while a presenter
> speaks, so the deck reads cleanly both live and as a leave-behind.
>
> This is a **refinement-only** milestone (no new features, no new
> slides, no theme change, no schema change). Tags run on the
> **v1.30.x** line (previous minor): `v1.30.0` (P0) → `v1.30.1` (P1
> execution = milestone release). Milestone branch:
> `milestone/v1.31-leadership-deck-polish`. Authoritative resume
> state: `.ciagent/CHECKPOINT.json`.
>
> **Source spec:** REQ-373 v1.0 (locked 2026-08-20). Full requirement
> text in `.ciagent/REQUIREMENTS.md` §v1.31.
### v1.31 ID allocations (no collisions with shipped history)
- **Decisions:** `D-247` (1 decision, authored in CLARIFY).
- **D-247** — Polish is **refinement-only and theme-preserving**.
The S&P theme tokens (`#D6002A`, `#1B1B1B`, `#FFFFFF`, `#F0F0F0`),
the 7-slide count, the per-slide speaker-note word-count bands
(1/2/4/6: 150300; 3/5: 250400; 7: 200300), the vision `[1]`
citations on slides 3/5/7, the 7 mermaid diagram PNGs, and the
footer string are all **invariants** of this milestone — they must
not change. Polish is confined to: (a) denser, better-structured
visible body prose on each slide, (b) layout improvement within
the existing `render_pptx.py` block vocabulary (lead/quote/plain/
bullet/ordered/image/table/benefit), and (c) re-rendering the
PPTX. No new slides, no new diagrams, no theme tokens, no new
speaker-note bands. The citizen-developer deck
(`nova-autonomous-cloud-delivery-marp.md`) remains untouched
(D-241 still holds).
- **Capabilities:** none new (CAP-042 is refined in place; no new CAP
allocated). Next free CAP remains CAP-043.
### v1.31 Scope (CLARIFY-grounded, full autonomy)
Refinement of `docs/presentations/nova-leadership-deck-marp.md`:
- Enrich the **visible on-slide prose** on every slide so the deck
reads as a standalone artifact (current slides 26 average 4367
visible words; target a denser, well-structured body that does not
crowd the diagram or overflow the slide).
- Improve **slide layout** using the existing renderer's block
vocabulary — re-balance the order of lead/quote/plain/benefit
blocks so each slide has a clear title, a framing line, the body,
the diagram, and a closing italic benefit line where present.
- Preserve all invariants (D-247): theme tokens, slide count = 7,
speaker-note bands, `[1]` citations on 3/5/7, the 7 diagram PNGs,
the footer string.
- Re-render `docs/presentations/nova-leadership-deck.pptx` via
`scripts/render_pptx.py`; the smoke test
`scripts/check_leadership_deck.sh` must still exit 0.
### v1.31 Hard constraints (invariants — D-247)
- Slide count stays exactly 7.
- S&P theme tokens are the only colors.
- Speaker-note word counts stay in band per REQ-372.4 bands.
- `[1]` citations remain present in slides 3, 5, 7 speaker notes.
- The 7 diagram PNGs (`assets/png/leadership-slide-N.png`) are reused
unchanged; `.mmd` sources are not modified.
- Footer string `Nova Platform - Infrastructure & Operations` unchanged.
- `scripts/render_pptx.py` is not modified (no new renderer features
needed — polish uses the existing block vocabulary).
- The citizen-developer deck is not touched.
### v1.31 Requirements
Full text in `.ciagent/REQUIREMENTS.md` §v1.31. Summary:
- **REQ-373.1** — Visible prose density: every slide's on-slide body
(excluding speaker notes + images) is enriched to a richer, well-
structured wording that reads as a standalone artifact.
- **REQ-373.2** — Layout improvement: each slide uses the renderer's
block vocabulary to balance title → frame → body → diagram → benefit.
- **REQ-373.3** — Invariants preserved (D-247): theme, 7 slides,
note bands, `[1]` citations, diagram PNGs, footer.
- **REQ-373.4** — PPTX re-rendered; smoke test exits 0.
### v1.31 phase status (live — tag `v1.30.1` = the milestone release)
| Phase | Status | Tag |
|-------|--------|-----|
| P0 pre-execution | in flight | v1.30.0 |
| P1 polish | pending | v1.30.1 (milestone release) |
+93 -12
View File
@@ -1025,15 +1025,96 @@ principles, anti-goals, and integration-boundary claims to
| REQ | Phase | Status |
|-----|-------|--------|
| REQ-372.1 | P1 | complete (v1.29.2) |
| REQ-372.2 | P1 | complete (v1.29.2) |
| REQ-372.3 | P1 | complete (v1.29.2) |
| REQ-372.4 | P1 | complete (v1.29.2) |
| REQ-372.5 | P1 | complete (v1.29.2) |
| REQ-372.6 | P1 | complete (v1.29.2) |
| REQ-372.7 | P1 | complete (v1.29.2, visual review pass) |
| REQ-372.8 | P1 | complete (v1.29.2) |
| REQ-372.9 | P1 | complete (v1.29.2) |
| REQ-372.10 | P1 | complete (v1.29.2) |
| REQ-372.11 | P1 | complete (v1.29.2) |
| REQ-372.12 | P1 | complete (v1.29.2) |
| REQ-372.1 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.2 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.3 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.4 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.5 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.6 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.7 | P1/P3 | complete (v1.29.5, polished + diagrams) |
| REQ-372.8 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.9 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.10 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.11 | P1/P3 | complete (v1.29.5, polished) |
| REQ-372.12 | P1/P3 | complete (v1.29.5, polished) |
## v1.31 — Leadership Deck Polish II (active milestone)
> **Refinement-only NFR milestone — polish pass on the v1.30 leadership
> deck.** Enriches visible on-slide prose + improves layout, then
> re-renders the PPTX. No new features, no new slides, no theme change,
> no diagram change (D-247). Tags run on the **v1.30.x** line (previous
> minor): `v1.30.0` (P0) → `v1.30.1` (P1 = milestone release). The
> v1.30 requirements (REQ-372.1..12) remain complete and are NOT
> re-opened; v1.31 adds REQ-373.1..4 as a refinement layer over the
> same artifact.
### Decisions (locked in CLARIFY, full autonomy — load-bearing for v1.31)
- **D-247 (refinement-only, theme-preserving):** The polish is
confined to visible prose density + layout. The following are
**invariants** and must not change: the S&P theme tokens
(`#D6002A`, `#1B1B1B`, `#FFFFFF`, `#F0F0F0`); the 7-slide count; the
per-slide speaker-note word-count bands (1/2/4/6: 150300; 3/5:
250400; 7: 200300, per REQ-372.4); the `[1]` citations on slides
3/5/7 (per REQ-372.12); the 7 mermaid diagram PNGs and their `.mmd`
sources; the footer string `Nova Platform - Infrastructure &
Operations`. No new slides, no new diagrams, no renderer changes.
The citizen-developer deck is untouched (D-241 still holds).
### Requirements
#### REQ-373.1 — Visible prose density enriched per slide
**Priority:** High · **Journey:** J1
**Given** the v1.30 deck shipped with sparse visible wording (slides
26 averaged 4367 visible words, leaning on diagrams), **when** the
polished source markdown is inspected, **then** every slide's on-slide
body (excluding speaker-note HTML comments and image references)
carries richer, well-structured wording that lets the slide read as a
standalone artifact — a title, a framing line, a body, and (where
present) a closing italic benefit — without crowding the diagram or
overflowing the 16:9 slide. Verified by visual review against the
Slide Content Map and by the smoke test still passing.
#### REQ-373.2 — Layout improved within the renderer block vocabulary
**Priority:** High · **Journey:** J1
**Given** the existing `scripts/render_pptx.py` block vocabulary
(lead/quote/plain/bullet/ordered/image/table/benefit) is not modified,
**when** the polished PPTX is rendered, **then** each slide balances
its blocks so the reading order is clear (title → frame → body →
diagram → benefit) and the diagram remains the visual anchor. No new
renderer features are added.
#### REQ-373.3 — v1.30 invariants preserved (D-247)
**Priority:** High · **Journey:** J1
**Given** the D-247 invariants, **when** the polished source + PPTX
are validated, **then**: slide count = 7; the only hex colors are the
four S&P tokens; per-slide speaker-note word counts remain in band per
REQ-372.4; `[1]` citations remain in slides 3, 5, 7 speaker notes; the
7 diagram PNGs are reused unchanged; the footer string is unchanged.
The smoke test enforces (a)(f) and must exit 0.
#### REQ-373.4 — PPTX re-rendered; smoke test exits 0
**Priority:** High · **Journey:** J1
**Given** the polished source markdown, **when**
`scripts/render_pptx.py docs/presentations/nova-leadership-deck-marp.md
--output docs/presentations/nova-leadership-deck.pptx` is invoked,
**then** the PPTX is written with 7 slides and python-pptx raises no
exceptions, **and** `bash scripts/check_leadership_deck.sh` exits 0.
### v1.31 Traceability (live — see CHECKPOINT.json for authoritative state)
| REQ | Phase | Status |
|-----|-------|--------|
| REQ-373.1 | P1 | pending |
| REQ-373.2 | P1 | pending |
| REQ-373.3 | P1 | pending |
| REQ-373.4 | P1 | pending |
+31 -13
View File
@@ -146,22 +146,40 @@
10 NFR constraints. Tags: `v1.28.0` (P0) → `v1.28.1..v1.28.5` (P1..P5)
`v1.28.6` (P6 final = milestone release).
- **v1.30 (complete, tag `v1.29.3` = the v1.30 release, merged to main
2026-08-20):** Single-shot Leadership Deck. Feature milestone. A
hand-authored 7-slide PPTX deck for Infrastructure & Operations
leadership (CTO + VP Technology + Product Management), presented
August 2026, securing architecture endorsement and a November 2026
runway. The deck is a **discrete artifact** (D-241: NOT a
compression of the existing citizen-developer pitch
- **v1.30 (complete, tag `v1.29.5` = the v1.30 release, merged to main
2026-08-20):** Single-shot Leadership Deck (polished). Feature
milestone. A hand-authored 7-slide PPTX deck for Infrastructure &
Operations leadership (CTO + VP Technology + Product Management),
presented August 2026, securing architecture endorsement and a
November 2026 runway. 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 unmodified).
Authored as Marp markdown, rendered via the existing
`scripts/render_pptx.py` (narrowly extended per D-242: path arg +
`--output` + per-slide footer textbox + leading-comment skip).
Smoke test `scripts/check_leadership_deck.sh` (on-demand, NOT a CI
gate). Vision `[1]` grounding in slides 3/5/7 speaker notes
(resolve to `docs/vision.md`). 12 requirements (REQ-372.1..12), 1
capability (CAP-042), 3 decisions (D-241..D-243). Tags: `v1.29.1`
(P0) → `v1.29.2` (P1 execution) → `v1.29.3` (P2 final = milestone
`--output` + per-slide footer textbox + leading-comment skip +
auto-fit + vertical balance + bullet-marker fix). **Polished in P3**
(D-244: slide 1 → black cover; D-245: slide 7 "What works now" block
— L1/L2 stacks live at confidence 0.800, next steps: greenfield
pilots → promote to prod → SPGE constitutional library → infra
layer; D-246: 7 S&P-themed mermaid diagrams, one per slide, rendered
via local mmdc with vendored Chromium libs). Smoke test
`scripts/check_leadership_deck.sh` (on-demand, NOT a CI gate). Vision
`[1]` grounding in slides 3/5/7 speaker notes (resolve to
`docs/vision.md`). 12 requirements (REQ-372.1..12), 1 capability
(CAP-042), 6 decisions (D-241..D-246). Tags: `v1.29.1` (P0) →
`v1.29.2` (P1 first draft) → `v1.29.3` (P2 first-draft final) →
`v1.29.4` (P3 polish) → `v1.29.5` (P4 polished final = milestone
release).
- **v1.31 (active):** Leadership Deck Polish II — refinement-only NFR
milestone. Enriches the v1.30 deck's visible on-slide prose and
improves slide layout, then re-renders the PPTX. Preserves all
v1.30 invariants (D-247): S&P theme tokens, 7-slide count, speaker-
note word-count bands, `[1]` citations on slides 3/5/7, the 7
mermaid diagram PNGs, and the footer string. No new slides, no new
diagrams, no renderer changes; the citizen-developer deck is
untouched. 4 requirements (REQ-373.1..4), 1 decision (D-247). Tags
run on the v1.30.x line: `v1.30.0` (P0) → `v1.30.1` (P1 = milestone
release).
> **Full v1.0v1.24 phase detail, wave ordering, success criteria, and
+1 -1
View File
@@ -357,7 +357,7 @@
| CAP-039 | Platform ops reposplit | v1.29 / `v1.28.6` | `nova-platform-ops` (out-of-band), `docs/operator-guide-platform-ops.md`, `docs/archive/nova-idp-cfn-v1.28.md` | REQ-369, REQ-OPS-GUIDE, D-232, D-235 | covered-reference | engineering (`acdl/acdl`, GitHub) ends at the artifact; operations (`nova-platform-ops`, Gitea-private, OPER-PRIV) begins at the live platform; tag-pin handoff; CFN archived; covered-reference REQs tracked via cutover gates |
| CAP-040 | KJ substrate lockstep | v1.29 / `v1.28.6` | `nova-platform-ops` (out-of-band), `platform/abac/kj-version.txt`, `.github/workflows/publish.yml` | REQ-371, REQ-363, REQ-363b, D-238, D-239 | covered-reference | one ECR image digest shared by Lambda `image_uri` + Fargate task `image`; `lifecycle.precondition` on both resources at `terraform plan`; KJ-STATIC (`CGO_ENABLED=0`, `file(1)` asserts `statically linked`); no second pipeline, no second SHA pin |
| CAP-041 | JWKS edge-only | v1.29 / `v1.28.6` | `nova-platform-ops` (out-of-band), `docs/operator-guide-platform-ops.md` | REQ-364, REQ-365, REQ-366, INV-18, D-233 | covered-reference | JWKS is the only public read surface; CloudFront + OAC (`AuthType: AWS_IAM`, NOT `NONE`, `OriginAccessControlOriginType: lambda`, `SigningBehavior: always`); direct Function URL → 403, via-CloudFront → 200; WAF rate-limit 3000/5min + AWSManagedRulesCommonRuleSet; ACM DNS-validated in us-east-1; Route53 A-alias |
| CAP-042 | Leadership presentation deck (single-shot) | v1.30 / `v1.29.3` | `docs/presentations/nova-leadership-deck-marp.md`, `docs/presentations/nova-leadership-deck.pptx`, `scripts/check_leadership_deck.sh` | REQ-372.1..REQ-372.12, D-241, D-242, D-243 | local | Single-shot 7-slide PPTX deck for Infrastructure & Operations leadership (CTO + VP Technology + Product Management); presented August 2026; November 2026 runway anchor; discrete hand-authored artifact (NOT a compression of the citizen-developer pitch per D-241); rendered via existing `scripts/render_pptx.py` (narrowly extended per D-242); smoke test on-demand (NOT a CI gate); vision `[1]` grounding in slides 3/5/7 |
| CAP-042 | Leadership presentation deck (single-shot, polished) | v1.30 / `v1.29.5` | `docs/presentations/nova-leadership-deck-marp.md`, `docs/presentations/nova-leadership-deck.pptx`, `scripts/check_leadership_deck.sh`, `scripts/render_leadership_diagrams.sh`, `docs/presentations/assets/mmd/leadership-slide-{1..7}.mmd`, `docs/presentations/assets/png/leadership-slide-{1..7}.png` | REQ-372.1..REQ-372.12, D-241..D-246 | local | Single-shot 7-slide PPTX deck for Infrastructure & Operations leadership (CTO + VP Technology + Product Management); presented August 2026; November 2026 runway anchor; discrete hand-authored artifact (NOT a compression of the citizen-developer pitch per D-241); rendered via existing `scripts/render_pptx.py` (narrowly extended per D-242); polished in P3 (D-244 cover slide, D-245 slide 7 "What works now" block, D-246 7 S&P-themed mermaid diagrams); smoke test on-demand (NOT a CI gate); vision `[1]` grounding in slides 3/5/7 |
## Archive pointers
+10 -2
View File
@@ -8,8 +8,8 @@ state for offline agent loading.
## Why archive
The active milestone is v1.27 (PO State Catalog & Ciagent Compression).
The `.ciagent/` root was compressed twice:
The active milestone is v1.30 (Single-shot Leadership Deck, complete).
The `.ciagent/` root was compressed three times:
1. **v1.26 P2 compression** (~11,164 lines → ~5,232): the
completed-milestone narratives (v1.0v1.24) were relocated. Per the
@@ -22,6 +22,14 @@ The `.ciagent/` root was compressed twice:
+ COST (predates v1.26 pilot) were relocated. The 4 pre-execution
files (CLARIFY/GRILL/IDEATE/RESEARCH) were rewritten by v1.27 P0
and stay active through v1.27.
3. **v1.30 post-milestone compression** (17 → 8 files): the v1.30
phase-specific pre-execution files (CLARIFY/RESEARCH/GRILL/PLAN/
PERSONAS) were snapshotted to the archive and removed from the
active root — they are regenerated fresh each milestone. The stale
IDEATE (v1.27), IAM_POLICY (v1.28), and REGRESSION_REPORT (v1.26)
were also archived. The persistent files (PROJECT, REQUIREMENTS,
ROADMAP, STATE, ARCHITECTURE, NORTH_STAR, config, CHECKPOINT)
remain in the active root.
## Contents
+146 -37
View File
@@ -2,21 +2,28 @@
"projects": [
{
"slug": "acdl",
"name": "Nova The New Dawn of DevSecOps",
"name": "Nova \u2014 The New Dawn of DevSecOps",
"default": true
},
{
"slug": "nova-blockchain-exchange",
"name": "Nova Pilot Consumer Blockchain Stock Exchange",
"name": "Nova Pilot Consumer \u2014 Blockchain Stock Exchange",
"default": false
}
],
"active_project": "acdl",
"active_projects": ["acdl", "nova-blockchain-exchange"],
"active_milestone": "v1.30",
"active_projects": [
"acdl",
"nova-blockchain-exchange"
],
"active_milestone": "v1.31",
"autonomy": {
"level": "full",
"escalation_hooks": ["deploy", "delete_data", "merge_to_main"],
"escalation_hooks": [
"deploy",
"delete_data",
"merge_to_main"
],
"clarify_budget": 10,
"decision_confidence_threshold": 0.6,
"max_revision_iterations": 3,
@@ -42,35 +49,72 @@
"escalate_high_severity": true,
"bash_allowlist": {
"allowed_commands": [
"git", "ls", "cat", "head", "tail", "wc",
"echo", "mkdir", "cp", "mv", "rm", "touch",
"pwd", "which", "env", "printenv",
"python3", "pytest", "pip",
"terraform", "checkov",
"curl", "wget",
"docker", "docker-compose"
"git",
"ls",
"cat",
"head",
"tail",
"wc",
"echo",
"mkdir",
"cp",
"mv",
"rm",
"touch",
"pwd",
"which",
"env",
"printenv",
"python3",
"pytest",
"pip",
"terraform",
"checkov",
"curl",
"wget",
"docker",
"docker-compose"
],
"max_output_bytes": 1048576,
"timeout_ms": 30000,
"blocked_env_vars": [
"HOME", "PATH", "USER", "SHELL",
"AWS_*", "*_TOKEN", "*_KEY", "*_SECRET",
"*_PASSWORD", "*_CREDENTIAL",
"GITHUB_TOKEN", "GITHUB_API_KEY",
"OPENAI_API_KEY", "ANTHROPIC_API_KEY",
"HOME",
"PATH",
"USER",
"SHELL",
"AWS_*",
"*_TOKEN",
"*_KEY",
"*_SECRET",
"*_PASSWORD",
"*_CREDENTIAL",
"GITHUB_TOKEN",
"GITHUB_API_KEY",
"OPENAI_API_KEY",
"ANTHROPIC_API_KEY",
"OLLAMA_CLOUD_API_KEY"
]
}
},
"git": {
"branching_strategy": "flat",
"_branching_strategy_note": "Nova uses flat workflow (committed directly to main per established convention since v1.0; renamed ACDLNova in v1.15). The 'phase' strategy is advisory; CIAgent uses milestone/phase branches for v1.14 but the project convention is flat.",
"_branching_strategy_note": "Nova uses flat workflow (committed directly to main per established convention since v1.0; renamed ACDL\u2192Nova in v1.15). The 'phase' strategy is advisory; CIAgent uses milestone/phase branches for v1.14 but the project convention is flat.",
"auto_commit": true,
"auto_push": true
},
"secrets": {
"sources": [".env", ".env.secrets", ".env.*"],
"disallow": ["shell_env", "netrc", "keychain", "rc_files", "global_config"],
"sources": [
".env",
".env.secrets",
".env.*"
],
"disallow": [
"shell_env",
"netrc",
"keychain",
"rc_files",
"global_config"
],
"scopes": {
"forge": "NOVA_FORGE_TOKEN",
"gitea": "NOVA_FORGE_TOKEN",
@@ -112,10 +156,18 @@
"backend": {
"provider": "auto",
"agent_backends": {
"opencode": { "enabled": true },
"codex": { "enabled": true },
"claude-code": { "enabled": true },
"hermes": { "enabled": true }
"opencode": {
"enabled": true
},
"codex": {
"enabled": true
},
"claude-code": {
"enabled": true
},
"hermes": {
"enabled": true
}
},
"llm_backends": {
"openai": {
@@ -148,7 +200,13 @@
},
"ideation": {
"enabled": true,
"categories": ["security", "quality", "architecture", "coverage", "improvement"],
"categories": [
"security",
"quality",
"architecture",
"coverage",
"improvement"
],
"confidence_threshold": 0.6,
"max_ideas": 20,
"external_signals": {
@@ -162,7 +220,11 @@
},
"chaos": {
"enabled": true,
"scenarios": ["backend_unavailable", "requirement_change", "test_coverage_drop"]
"scenarios": [
"backend_unavailable",
"requirement_change",
"test_coverage_drop"
]
}
},
"sessions": {
@@ -178,30 +240,77 @@
"name": "lead-developer",
"domain": "coordination",
"frameworks": [],
"constraints": ["pragmatic", "battle-tested defaults"],
"constraints": [
"pragmatic",
"battle-tested defaults"
],
"territory": []
},
{
"name": "data-engineer",
"domain": "data",
"frameworks": ["drizzle", "postgresql"],
"constraints": ["schema-first", "type-safe ORM", "migration-driven"],
"territory": ["**/migrations/**", "**/schema/**", "**/models/**", "**/db/**", "prisma/schema.prisma", "drizzle/**", "**/*.sql"]
"frameworks": [
"drizzle",
"postgresql"
],
"constraints": [
"schema-first",
"type-safe ORM",
"migration-driven"
],
"territory": [
"**/migrations/**",
"**/schema/**",
"**/models/**",
"**/db/**",
"prisma/schema.prisma",
"drizzle/**",
"**/*.sql"
]
},
{
"name": "backend-engineer",
"domain": "backend",
"frameworks": ["fastify", "hono"],
"constraints": ["api-first", "strict-typing", "dependency-injection"],
"territory": ["**/api/**", "**/routes/**", "**/services/**", "**/middleware/**", "**/controllers/**", "**/auth/**"]
"frameworks": [
"fastify",
"hono"
],
"constraints": [
"api-first",
"strict-typing",
"dependency-injection"
],
"territory": [
"**/api/**",
"**/routes/**",
"**/services/**",
"**/middleware/**",
"**/controllers/**",
"**/auth/**"
]
},
{
"name": "frontend-engineer",
"domain": "frontend",
"active": false,
"frameworks": ["react", "next.js"],
"constraints": ["component-first", "server-components", "minimal-client-js"],
"territory": ["**/components/**", "**/pages/**", "**/hooks/**", "**/styles/**", "**/*.tsx", "**/*.css", "**/*.vue"],
"frameworks": [
"react",
"next.js"
],
"constraints": [
"component-first",
"server-components",
"minimal-client-js"
],
"territory": [
"**/components/**",
"**/pages/**",
"**/hooks/**",
"**/styles/**",
"**/*.tsx",
"**/*.css",
"**/*.vue"
],
"reason": "ACDL has no frontend (no package.json); decks are markdown (lead-developer territory). Deactivated per PERSONAS.md:80."
}
]
@@ -220,4 +329,4 @@
"engine": "kyverno-json",
"policy_root": "adapters/kyverno-json/policies"
}
}
}
@@ -1,23 +1,33 @@
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#1B1B1B','primaryBorderColor':'#D6002A','primaryTextColor':'#fff','secondaryColor':'#fff','secondaryBorderColor':'#D6002A','secondaryTextColor':'#1B1B1B','tertiaryColor':'#F0F0F0','lineColor':'#1B1B1B','fontFamily':'"Helvetica Neue","Arial",sans-serif'}}}%%
flowchart LR
subgraph F["The friction"]
F1["Authored by<br/>non-specialists"]
F2["Every change<br/>gated"]
F3["Compliance<br/>checked late"]
subgraph TODAY["Today — the gap is widening"]
direction TB
V["Delivery velocity<br/>↑ rising fast"]
C["Coordination surface<br/>↑↑ rising faster"]
V -.-|"gap"| C
end
F1 --- F2
F2 --- F3
F --> N
subgraph N["Nova absorbs all three"]
N1["Owned<br/>building blocks"]
N2["Separation<br/>of concerns"]
N3["Attested compliance<br/>up front"]
subgraph COST["The cost of the gap"]
direction TB
R1["Remediation<br/>cycles"]
R2["Gate fatigue<br/>& morale loss"]
R3["Compliance<br/>found late"]
end
style F fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style N fill:#1B1B1B,color:#fff,stroke:#D6002A
style F1 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style F2 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style F3 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
TODAY -->|"absorbs"| NOVA
subgraph NOVA["Nova closes the gap"]
direction TB
N1["Owned primitives<br/>= no per-team infra authoring"]
N2["Attested up front<br/>= no late compliance"]
N3["Policy-bounded<br/>= no manual gating"]
end
COST -->|"absorbs"| NOVA
style TODAY fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style COST fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style NOVA fill:#1B1B1B,color:#fff,stroke:#D6002A
style V fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style C fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style R1 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style R2 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style R3 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style N1 fill:#1B1B1B,color:#fff,stroke:#D6002A
style N2 fill:#1B1B1B,color:#fff,stroke:#D6002A
style N3 fill:#1B1B1B,color:#fff,stroke:#D6002A
@@ -1,10 +1,25 @@
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#1B1B1B','primaryBorderColor':'#D6002A','primaryTextColor':'#fff','secondaryColor':'#fff','secondaryBorderColor':'#D6002A','secondaryTextColor':'#1B1B1B','tertiaryColor':'#F0F0F0','lineColor':'#1B1B1B','fontFamily':'"Helvetica Neue","Arial",sans-serif'}}}%%
flowchart TB
CIT["Central IT curates<br/>the golden OS image"]
NOVA["Nova curates<br/>the cloud infrastructure"]
CONSUMER["Consumer declares<br/>a contract"]
CIT -->|own, patch, ship| NOVA
NOVA -->|own, patch, attest| CONSUMER
style CIT fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style NOVA fill:#1B1B1B,color:#fff,stroke:#D6002A
style CONSUMER fill:#fff,color:#1B1B1B,stroke:#D6002A
flowchart LR
SDLC["SDLC<br/>code authored,<br/>built, tested"]
PDLC["PDLC<br/>product backlog,<br/>release planning"]
CONTRACT["The<br/>contract"]
INGEST["Contract<br/>ingestor"]
RESOLVE["Resolve<br/>→ L1/L2 stack"]
POLICY["Policy +<br/>confidence<br/>enforcement"]
APPLY["Reconcile<br/>→ live cloud"]
PROD["Running,<br/>observable,<br/>attested infra"]
SDLC --> CONTRACT
PDLC --> CONTRACT
CONTRACT -->|"validated<br/>boundary"| INGEST
INGEST --> RESOLVE
RESOLVE --> POLICY
POLICY --> APPLY
APPLY -->|"production-grade<br/>by construction"| PROD
style SDLC fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style PDLC fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style CONTRACT fill:#fff,color:#D6002A,stroke:#D6002A
style INGEST fill:#1B1B1B,color:#fff,stroke:#D6002A
style RESOLVE fill:#1B1B1B,color:#fff,stroke:#D6002A
style POLICY fill:#1B1B1B,color:#fff,stroke:#D6002A
style APPLY fill:#1B1B1B,color:#fff,stroke:#D6002A
style PROD fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
@@ -1,17 +1,22 @@
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#1B1B1B','primaryBorderColor':'#D6002A','primaryTextColor':'#fff','secondaryColor':'#fff','secondaryBorderColor':'#D6002A','secondaryTextColor':'#1B1B1B','tertiaryColor':'#F0F0F0','lineColor':'#1B1B1B','fontFamily':'"Helvetica Neue","Arial",sans-serif'}}}%%
flowchart LR
T1["Sovereign<br/>boundary"]
T2["Lower autonomous<br/>higher attested"]
I1["Four-layer<br/>model"]
I2["HITL<br/>gates"]
I3["Contract<br/>schema"]
T1 --> I1
T1 --> I3
T2 --> I2
T2 --> I3
T1 -.-> T2
style T1 fill:#1B1B1B,color:#fff,stroke:#D6002A
style T2 fill:#1B1B1B,color:#fff,stroke:#D6002A
style I1 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style I2 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style I3 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
flowchart TB
ROOT["Two tenets<br/>discipline everything"]
SB["Sovereign boundary<br/>govern the delivery lifecycle<br/>do not reach upstream"]
LA["Lower autonomous<br/>higher attested<br/>compute: platform<br/>choice: human"]
ROOT --> SB
ROOT --> LA
SB -->|"shapes"| FM["4-layer model<br/>artifact → contract →<br/>infra → runtime"]
SB -->|"shapes"| CS["Contract schema<br/>the only integration<br/>surface to SDLC/PDLC"]
SB -->|"shapes"| PE["Policy envelope<br/>confidence, NFRs,<br/>boundaries enforced"]
LA -->|"shapes"| HITL["HITL gates<br/>named approver ≠ PR author<br/>at qa, prod, dr"]
LA -->|"shapes"| CONF["Confidence signal<br/>0.50 → 0.75 → 0.90 → 0.95<br/>escalation below threshold"]
LA -->|"shapes"| AUDIT["Audit lineage<br/>every action → one owner<br/>→ one evidence entry"]
style ROOT fill:#1B1B1B,color:#fff,stroke:#D6002A
style SB fill:#1B1B1B,color:#fff,stroke:#D6002A
style LA fill:#1B1B1B,color:#fff,stroke:#D6002A
style FM fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style CS fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style PE fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style HITL fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style CONF fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style AUDIT fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
@@ -1,9 +1,17 @@
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#1B1B1B','primaryBorderColor':'#D6002A','primaryTextColor':'#fff','secondaryColor':'#fff','secondaryBorderColor':'#D6002A','secondaryTextColor':'#1B1B1B','tertiaryColor':'#F0F0F0','lineColor':'#1B1B1B','fontFamily':'"Helvetica Neue","Arial",sans-serif'}}}%%
flowchart LR
L["Live today<br/>41 capabilities<br/>12 domains"]
A["Attested on<br/>promotion<br/>named human approver"]
H["Stays human<br/>by design<br/>escalation below threshold"]
L --> A --> H
style L fill:#1B1B1B,color:#fff,stroke:#D6002A
style A fill:#1B1B1B,color:#fff,stroke:#D6002A
style H fill:#1B1B1B,color:#fff,stroke:#D6002A
DEV["dev<br/>autonomous<br/>conf ≥ 0.50<br/>zero-touch"]
QA["qa<br/>HITL gate<br/>conf ≥ 0.75<br/>named approver<br/>≠ PR author"]
PROD["prod<br/>HITL gate<br/>conf ≥ 0.90<br/>named approver<br/>≠ PR author"]
DRENV["dr<br/>HITL gate<br/>conf ≥ 0.95<br/>named approver<br/>≠ PR author"]
DEV -->|"promotion"| QA
QA -->|"promotion"| PROD
PROD -->|"promotion"| DRENV
ESC["Escalation:<br/>below threshold<br/>→ human judgment"] -.->|"triggers"| QA
ESC -.->|"triggers"| PROD
ESC -.->|"triggers"| DRENV
style DEV fill:#1B1B1B,color:#fff,stroke:#D6002A
style QA fill:#1B1B1B,color:#fff,stroke:#D6002A
style PROD fill:#1B1B1B,color:#fff,stroke:#D6002A
style DRENV fill:#1B1B1B,color:#fff,stroke:#D6002A
style ESC fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
@@ -1,23 +1,29 @@
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#1B1B1B','primaryBorderColor':'#D6002A','primaryTextColor':'#fff','secondaryColor':'#fff','secondaryBorderColor':'#D6002A','secondaryTextColor':'#1B1B1B','tertiaryColor':'#F0F0F0','lineColor':'#1B1B1B','fontFamily':'"Helvetica Neue","Arial",sans-serif'}}}%%
flowchart LR
subgraph IN["In Nova's lane"]
I1["Infrastructure<br/>primitives"]
I2["Operational<br/>guardrails"]
I3["CVE response<br/>infra layer"]
subgraph ABOVE["Above the contract — upstream, not Nova"]
APP["Application<br/>business logic"]
IDE["IDE · sprint ·<br/>author workflows"]
APPSEC["AppSec · dependency<br/>review · runtime security"]
VM["VM · bare-metal ·<br/>OS lifecycles<br/>consumed, not maintained"]
end
C["The<br/>contract"]
subgraph OUT["Outside Nova's lane"]
O1["Application<br/>business logic"]
O2["IDE & sprint<br/>workflows"]
O3["AppSec &<br/>dependency review"]
CONTRACT["the contract<br/>━━━━━━━━━<br/>declared intent<br/>validated, published"]
subgraph BELOW["Below the contract — Nova's lane"]
L1["L1 primitives<br/>S3 · RDS · Lambda<br/>ECS · KMS · DynamoDB"]
L2["L2 compositions<br/>microservice ·<br/>static-assets"]
GUARD["Guardrails<br/>confidence · policy<br/>attestation · audit"]
end
IN --- C --- OUT
style IN fill:#1B1B1B,color:#fff,stroke:#D6002A
style OUT fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style C fill:#fff,color:#D6002A,stroke:#D6002A
style I1 fill:#1B1B1B,color:#fff,stroke:#D6002A
style I2 fill:#1B1B1B,color:#fff,stroke:#D6002A
style I3 fill:#1B1B1B,color:#fff,stroke:#D6002A
style O1 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style O2 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style O3 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
RT["Production<br/>runtime"]
ABOVE -.->|"declares via"| CONTRACT
CONTRACT -->|"validated boundary"| BELOW
BELOW -->|"reconciles to"| RT
style ABOVE fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style BELOW fill:#1B1B1B,color:#fff,stroke:#D6002A
style APP fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style IDE fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style APPSEC fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style VM fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style CONTRACT fill:#fff,color:#D6002A,stroke:#D6002A
style L1 fill:#1B1B1B,color:#fff,stroke:#D6002A
style L2 fill:#1B1B1B,color:#fff,stroke:#D6002A
style GUARD fill:#1B1B1B,color:#fff,stroke:#D6002A
style RT fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
@@ -1,11 +1,32 @@
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#1B1B1B','primaryBorderColor':'#D6002A','primaryTextColor':'#fff','secondaryColor':'#fff','secondaryBorderColor':'#D6002A','secondaryTextColor':'#1B1B1B','tertiaryColor':'#F0F0F0','lineColor':'#1B1B1B','fontFamily':'"Helvetica Neue","Arial",sans-serif'}}}%%
flowchart LR
A["α<br/>Now → Q4'26<br/>Operating model +<br/>federated governance"]
B["β<br/>Q1'27<br/>Auto-published<br/>infra observability"]
G["γ<br/>Q2'27<br/>Runbook generation<br/>from telemetry"]
D["δ<br/>Q3'27 → Q4'27<br/>Audit ledger<br/>tamper-resistant"]
A --> B --> G --> D
subgraph NOW["Now"]
A["α — operating model<br/>named platform-ops body<br/>SLAs on every L2"]
end
subgraph Q1["Q1 2027"]
B["β — infra observability<br/>auto-published on apply<br/>no per-team dashboards"]
end
subgraph Q2["Q2 2027"]
G["γ — runbook generation<br/>from observed patterns<br/>SREs start, not blank"]
end
subgraph Q4["Q3-Q4 2027"]
D["δ — audit ledger<br/>S3 Object Lock + JWS<br/>externally verifiable"]
end
A -->|"unlocks"| B
B -->|"builds on"| G
G -->|"matures to"| D
NOW -.->|"governance<br/>is the unlock"| B
subgraph UNCHANGED["Stays constant across the arc"]
C["The contract surface<br/>remains the only<br/>SDLC/PDLC integration"]
end
D -.->|"exits to"| UNCHANGED
style NOW fill:#1B1B1B,color:#fff,stroke:#D6002A
style Q1 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style Q2 fill:#1B1B1B,color:#fff,stroke:#D6002A
style Q4 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style UNCHANGED fill:#fff,color:#1B1B1B,stroke:#D6002A
style A fill:#1B1B1B,color:#fff,stroke:#D6002A
style B fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style G fill:#1B1B1B,color:#fff,stroke:#D6002A
style D fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style D fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style C fill:#fff,color:#1B1B1B,stroke:#D6002A
@@ -1,13 +1,40 @@
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#1B1B1B','primaryBorderColor':'#D6002A','primaryTextColor':'#fff','secondaryColor':'#fff','secondaryBorderColor':'#D6002A','secondaryTextColor':'#1B1B1B','tertiaryColor':'#F0F0F0','lineColor':'#1B1B1B','fontFamily':'"Helvetica Neue","Arial",sans-serif'}}}%%
flowchart LR
W["What works now<br/>L1 & L2 stacks live<br/>confidence 0.800"]
N1["Ingest greenfield<br/>pilot projects"]
N2["Promote sandbox<br/>to production"]
N3["Integrate SPGE<br/>constitutional library"]
N4["Serve as the<br/>infrastructure layer"]
W --> N1 --> N2 --> N3 --> N4
style W fill:#1B1B1B,color:#fff,stroke:#D6002A
flowchart TB
subgraph PROVEN["Proven today — the foundation"]
direction LR
L1L2["13 L1 + 2 L2<br/>live in registry"]
PILOT["Pilot live-apply<br/>confidence 0.800<br/>dev AWS account"]
L1L2 --- PILOT
end
subgraph ARC["The runway arc — next steps"]
direction LR
N1["Ingest greenfield<br/>pilot projects"]
N2["Promote<br/>dev → prod<br/>activate qa, prod, dr"]
N3["Integrate SPGE<br/>constitutional library<br/>at the contract surface"]
N4["Serve as the<br/>infrastructure layer<br/>beneath every app"]
N1 --> N2 --> N3 --> N4
end
subgraph ASK["The ask"]
ENDORSE["Architecture<br/>endorsement"]
RUNWAY["Runway to next<br/>milestone by Nov 2026"]
ENDORSE --- RUNWAY
end
subgraph RISK["If we don't — the structural risk"]
GAP["Delivery acceleration<br/>vs operational absorption<br/>gap widens through 2027"]
end
PROVEN -->|"foundation enables"| ARC
ARC -->|"lands at"| ASK
ASK -.->|"without it"| RISK
style PROVEN fill:#1B1B1B,color:#fff,stroke:#D6002A
style ARC fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style ASK fill:#1B1B1B,color:#fff,stroke:#D6002A
style RISK fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style L1L2 fill:#1B1B1B,color:#fff,stroke:#D6002A
style PILOT fill:#1B1B1B,color:#fff,stroke:#D6002A
style N1 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style N2 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style N3 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style N4 fill:#1B1B1B,color:#fff,stroke:#D6002A
style N4 fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
style ENDORSE fill:#1B1B1B,color:#fff,stroke:#D6002A
style RUNWAY fill:#1B1B1B,color:#fff,stroke:#D6002A
style GAP fill:#F0F0F0,color:#1B1B1B,stroke:#D6002A
Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.