NORTH_STAR-CHANGE: reclassify 3 targets to Post-Pilot section (E-003);
move AI-Agent Intent Share to Future Horizons (E-004).
GRILL binding decisions applied:
- G-Q4: D-122 honesty sentence on slide 7 (Nova's AI = confidence-gated policy engine, not LLM)
- G-Q5/G-Q15: derived metrics annotated with N=0 caveat; ROI formula shown inline on slide 13
- G-Q6: NORTH_STAR targets reclassified (3 to Post-Pilot, honesty note added)
- G-Q8: stake line (18V+0 consumers) added to slide 1
- G-Q9: 4 filler benefit closes rewritten (slides 1, 4, 13, 16)
- G-Q10: slide 12 split into Zero-Touch Efficiency + Cost & ROI (deck now 18 slides)
- G-Q11: preempt added to slide 14 (deferrals are measurement infra, not autonomy)
- G-Q13: Act 3->4 transition rewritten ('how it works' is not 'proof it works')
- G-Q14: slide 9 benefit reframed from data plumbing to trust substrate
- G-Q16: slide 16 ask reframed as business decision (approve pilot + ledger build-out)
---ci---
project: acdl
phase: 0
milestone: v1.17
status: grill
---/ci---
60 KiB
phase, name, milestone, requirements, wave, depends_on
| phase | name | milestone | requirements | wave | depends_on | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P0 | pre-execution | v1.17 |
|
0 |
v1.17 — Strategic Direction, Leadership Metrics & Unified Story (Plan)
Milestone: v1.17 — Strategic Direction, Leadership Metrics & Unified Story
Type: Feature (P1–P3 feat; P4 docs; P5 docs+test; P6 test; P7 review+audit+ship;
P8 final). Progressive patches; the final phase's patch IS the milestone
release. Tags run on the v1.16.x line: v1.16.0 (P0) → v1.16.1..v1.16.7
(P1–P7) → v1.16.8 (P8 final = milestone release).
Branch: milestone/v1.17-strategic-metrics-deck (branched off the v1.16
complete merge). Execution phases branch phase/NN-* → merge to milestone
branch → tag patch on the v1.16.x line.
Tags: metrics, telemetry, decision-ledger, powerbi, deck,
north-star, no-humans-thesis, regression-capability
Decisions (locked, D-120..D-132 — do NOT re-open):
D-120 Nova-native + Infracost, drift deferred · D-121 Decision Ledger =
outbox_writer → SQLite hash-chain · D-122 AI decision = confidence_signal +
HITL gate · D-123 8 deferred metrics ship as empty placeholder views ·
D-125 Hybrid events/files · D-126 Cold-only SQLite · D-127 Per-KPI
definition-of-success docs · D-128 metrics/ at repo root · D-129 PowerBI =
CSV/JSON folder connector · D-130 Deck arc Problem→Vision→How→Proof→Roadmap,
both old decks retired · D-131 MTTR = platform-run only · D-132 Attestation
instrumentation = emit attestation.recorded events.
Objective (three pillars):
- (A) Strategic Direction — encode the PO's strategic direction in a
durable
NORTH_STAR.mdread by CIAgent in every future/ci-run. - (B) Leadership Metrics + PowerBI — instrument Nova to collect, aggregate, and surface leadership-grade metrics that prove the "no-humans" autonomous-infrastructure value proposition — grounded in signals Nova actually emits, derived via documented formulas, or explicitly deferred with a decision ID — flowing into PowerBI-ready views.
- (C) Unified Narrative Deck — merge the two existing decks into one unified narrative deck with the "tell them x3" arc at deck + slide level, per-slide benefit callouts, and fluid transitions.
Hard constraint: DO NOT make anything up. Every metric carries a
grounded / derived / deferred status with a source file or decision
ID. Deferred metrics ship as empty PowerBI placeholder views with
documented schemas.
Wave Overview
| Wave | Phases | Theme | Dependency rationale |
|---|---|---|---|
| Wave 1 | P1 | Event emitters — the foundation | Everything depends on events being emitted. P1 establishes the CloudEvents envelope, per-run manifests, Decision Ledger, Infracost adapter, and attestation/confidence/policy event emission. P2/P3/P4/P5 all consume P1's event formats. |
| Wave 2 | P2, P3 | Collector + PowerBI export | P2 (collector) reads P1's events/files → SQLite cold store. P3 (export) reads P2's SQLite → CSV/JSON views. P2 + P3 can partially parallelize: P3's view schemas can be authored against P2's schemas before P2's collector code is complete, but P3's export code needs P2's SQLite to exist. |
| Wave 3 | P4, P5 | Metrics catalog + deck rebuild | P4 (catalog + NORTH_STAR integration) depends on metrics being grounded (P2/P3 done). P5 (deck) depends on P4's METRICS.md for the Proof section's grounded citations. P4 + P5 can partially parallelize: P5's Problem/Vision/How acts don't need P4; P5's Proof act needs P4's catalog. |
| Wave 4 | P6, P7 | Regression capability + final review/ship | P6 (CAP-023/024) depends on P2/P3 (collector) + P5 (deck) existing. P7 (review/audit/ship) depends on all prior phases. |
| Final | P8 | Milestone ship | Merge to main, tag v1.16.8, Gitea release, delete milestone branches. |
Dependency chain (critical path): P1 → P2 → P3 → P4 → P5(Proof) → P6 → P7 → P8
Parallelization opportunities:
- P2 schemas + P3 view schemas can be authored concurrently (Wave 2 entry).
- P4
docs/metrics/*.mdper-KPI docs + P5 Problem/Vision/How acts can be authored concurrently (Wave 3 entry); P5 Proof act waits for P4METRICS.md. - P6 CAP-023 (collector) test can be drafted while P5 finishes (the test needs P2's collector to exist, which it does by Wave 4).
Per-Phase Vertical-Slice Plans
Phase P1 — event-emitters (Wave 1, feat)
Goal: Instrument every Nova decision point to emit structured CloudEvents
1.0 events + persist ephemeral $WORK/*.json as durable artifacts + extend
outbox_writer.py into the SQLite Decision Ledger. After P1, the metrics
layer has all the raw signals it needs — no downstream phase invents new
signals.
Requirements covered: REQ-187, REQ-188, REQ-205 (emitter half), REQ-206 (emitter half).
Primary persona: backend-engineer. Supporting: data-engineer (event schemas).
Tasks (vertical slices):
-
CloudEvents envelope + schemas —
core/metrics/event_envelope.pydefines the CloudEvents 1.0 envelope +platform.*semantic conventions (specversion, id, source, type, time, subject, datacontenttype, platform block, data).schemas/metrics_event.schema.jsonvalidates the envelope.schemas/metrics_run_manifest.schema.jsonvalidates per-run manifests.- Acceptance:
python -m jsonschemavalidates a sample event against the schema;tests/test_metrics_emitters.py::test_envelopepasses.
- Acceptance:
-
Per-run manifest writer —
core/metrics/run_manifest.pyemitsnova.run.started,nova.run.completed,nova.run.failedevents with (run_id, contractId, env, stages×durations, exit, confidence, HITL block count). Writesmetrics/runs/<run_id>.json.scripts/run_platform.shinvokes the writer at run start + run end.- Acceptance: a
--check-onlyrun producesmetrics/runs/<run_id>.jsonwith a valid manifest;test_run_manifestpasses.
- Acceptance: a
-
Persist ephemeral
$WORK/*.json—run_platform.shcopies$WORK/pcr.json,signal.json,event.json,outbox_item.json,stack.jsontometrics/runs/<run_id>/as durable artifacts (the ephemeral$WORKcopies remain for the running pipeline; the persisted copies are the metrics source of truth).- Acceptance: after a run,
metrics/runs/<run_id>/pcr.jsonexists and matches$WORK/pcr.json; a test asserts the copy.
- Acceptance: after a run,
-
pytest addopts —
pyproject.tomladdoptsgains--junitxml=metrics/test-results.xml --json-report --cov=core --cov=adapters --cov-report=json:metrics/coverage.json. CAP-009 (offline pytest suite passes) must remain Verified (assumption A5 — additive flags).- Acceptance:
bash scripts/run_ci.shexits 0;metrics/test-results.xmlmetrics/coverage.jsonexist; regression gate 22/22 (run at P6, but P1 must not break any cap locally).
- Acceptance:
-
Infracost post-processor —
core/metrics/infracost_adapter.pyruns Infracost onterraform show -json plan.tfplan(offline, reads plan JSON, no live AWS). Emitsnova.cost.estimated{delta_usd}. Degrades gracefully (omits the event, logs a warning) when Infracost CLI is absent (A6).run_platform.shinvokes it after the plan stage.- Acceptance: when Infracost is available,
metrics/runs/<run_id>/contains acost_estimate.json; when absent, the run still exits 0;test_infracost_adapterpasses (mock the CLI).
- Acceptance: when Infracost is available,
-
Decision Ledger (SQLite hash-chain) —
core/metrics/decision_ledger.pyextendsoutbox_writer.pyto emit to a SQLite append-only table (metrics/decision_ledger.db) with a hash chain (prev_hash+ ownhash, SHA-256). Emitsai.decision.madeevents (decision_id=run_id, chosen_action=band outcome, confidence=score, alternatives=perInput breakdown, human_override=HITL block) with outcome backfill fromapply.completed. Honors D-083 (no S3 Object Lock/JWS — local SQLite hash-chain only).- Acceptance:
metrics/decision_ledger.dbexists after a run; the hash chain verifies (verify-chainreturns 0 broken);test_decision_ledgerpasses.
- Acceptance:
-
Attestation event emission —
core/hitl_gates.pyemitsattestation.recordedevents to the Decision Ledger on qa/prod/dr gates (approver, env, concerns, result). D-132. (Dev skips — autonomous.)- Acceptance: a mocked qa gate produces an
attestation.recordedrow in the Decision Ledger;test_attestation_eventpasses.
- Acceptance: a mocked qa gate produces an
-
Confidence decision event emission —
core/confidence_signal.pyemitsnova.confidence.computed+nova.ai.decision.madeevents (D-122: the "AI decision" is the confidence-gated policy engine, not an LLM).- Acceptance: a confidence computation produces both events in
metrics/events.jsonl;test_confidence_eventpasses.
- Acceptance: a confidence computation produces both events in
-
Policy event emission —
adapters/terraform/policy/checkov_adapter.pyemitsnova.policy.evaluatedevents (rule count, pass/fail/skipped, severity breakdown).- Acceptance: a Checkov run produces a
nova.policy.evaluatedevent;test_policy_eventpasses.
- Acceptance: a Checkov run produces a
-
Lifecycle success-rate emitter — each lifecycle run writes
metrics/lifecycle/<module>-<env>.json(module, env, phase apply/modify/destroy, result, duration_ms). REQ-205 emitter half.- Acceptance: a mocked lifecycle run produces the JSON; the emitter test passes.
-
Capability event emission —
core/regression_verify.pyemitsnova.capability.verifiedevents (capability ID, status, tier, duration).- Acceptance: a regression run produces
nova.capability.verifiedevents;test_capability_eventpasses.
- Acceptance: a regression run produces
Must-haves (phase ships only if ALL true):
core/metrics/event_envelope.py,run_manifest.py,infracost_adapter.py,decision_ledger.pyexist and are tested.metrics/events.jsonlis appended to on every run (CloudEvents 1.0 envelope, valid againstschemas/metrics_event.schema.json).metrics/runs/<run_id>.jsonmanifest exists after every run.metrics/decision_ledger.dbexists with a verified hash chain.outbox_writer.pyextended to write to the SQLite Decision Ledger.hitl_gates.pyemitsattestation.recorded(D-132).confidence_signal.pyemitsnova.confidence.computed+nova.ai.decision.made(D-122).checkov_adapter.pyemitsnova.policy.evaluated.pyproject.tomladdopts include--junitxml+--json-report+--cov.bash scripts/run_ci.shexits 0.- No existing capability regresses (22/22 locally).
Risks + mitigations:
- Risk:
--junitxml/--covaddopts break the existing test suite. Mitigation: A5 (additive flags); verify CAP-009 stays Verified locally before merging. - Risk: Infracost CLI not available in CI. Mitigation: A6 — degraded mode (omit event, log warning, don't fail the run).
- Risk: SQLite hash-chain corruption on concurrent writes. Mitigation:
single-writer model (the run manifest writer is the only writer per run);
WAL mode +
BEGIN IMMEDIATE. - Risk: Event schema drift between emitters and collector. Mitigation: schemas authored first (task 1); all emitters validate against the schema before writing.
Phase P2 — metrics-collector (Wave 2, feat)
Goal: Read all grounded signals (files + events) into a normalized
SQLite cold store at metrics/nova_metrics.db with idempotent re-runs.
After P2, the metrics layer has a queryable store — P3 exports it, P4
catalogs it.
Requirements covered: REQ-189, REQ-200, REQ-201, REQ-205 (collector half), REQ-206 (collector half), REQ-207.
Primary persona: data-engineer. Supporting: backend-engineer (event formats).
Tasks (vertical slices):
-
Fact/dimension schemas —
schemas/metrics_fact_run.schema.json,schemas/metrics_fact_capability.schema.json,schemas/metrics_fact_policy_check.schema.json,schemas/metrics_fact_confidence.schema.json,schemas/metrics_fact_test.schema.json,schemas/metrics_fact_decision.schema.json,schemas/metrics_fact_cost_estimate.schema.json,schemas/metrics_fact_lifecycle.schema.json,schemas/metrics_dim_capability.schema.json,schemas/metrics_dim_milestone.schema.json. Schema-first (data-engineer constraint): all schemas exist before any collector code.- Acceptance: all schemas validate sample rows;
python -m jsonschemapasses for each.
- Acceptance: all schemas validate sample rows;
-
Collector core —
core/metrics/collector.pyreads:REGRESSION_REPORT.json→fact_capability+dim_capability.metrics/runs/*.json→fact_run.metrics/test-results.xml(junit) →fact_test.metrics/coverage.json→fact_test.coveragecolumn.metrics/runs/<run_id>/pcr.json→fact_policy_check.metrics/runs/<run_id>/signal.json→fact_confidence.metrics/decision_ledger.db→fact_decision.metrics/runs/<run_id>/cost_estimate.json→fact_cost_estimate.metrics/lifecycle/*.json→fact_lifecycle.CHECKPOINT.json→dim_milestone. Writes tometrics/nova_metrics.db(SQLite cold store, D-126).- Acceptance: after a run + collector invocation,
metrics/nova_metrics.dbhas all fact/dim tables populated;test_metrics_collectorpasses.
-
Idempotent re-runs — the collector is idempotent: re-running it produces identical row counts + a verified chain. REQ-200.
- Acceptance:
test_metrics_collector_idempotentpasses (two runs → identical row counts + chain verified).
- Acceptance:
-
Decision Ledger CLI —
core/metrics/decision_ledger_cli.pysupportsquery,verify-chain,stats,export,replay.verify-chaindetects broken hashes;replayprints ordered events. REQ-207.- Acceptance:
decision_ledger_cli.py verify-chainexits 0 on a clean chain, exits 1 on a tampered chain;test_decision_ledger_clipasses.
- Acceptance:
-
Metrics README —
metrics/README.mddocuments regenerable vs append-only artifacts + the restore procedure (the cold store is regenerable from the raw signals; the Decision Ledger is append-only). REQ-201.- Acceptance:
metrics/README.mdexists with the two categories + a restore procedure section.
- Acceptance:
Must-haves:
core/metrics/collector.pyexists and is tested.metrics/nova_metrics.dbis produced with all fact/dim tables.- Idempotent re-runs (REQ-200) verified by test.
core/metrics/decision_ledger_cli.pyexists with all 5 subcommands.metrics/README.mddocuments regenerable vs append-only + restore.bash scripts/run_ci.shexits 0.
Risks + mitigations:
- Risk: Schema drift between P1's event formats and P2's fact schemas. Mitigation: data-engineer authors both; backend-engineer reviews the event-format alignment.
- Risk: Junit XML parsing edge cases (test names with special chars).
Mitigation: use
xml.etree.ElementTreewith XPath; test with a fixture containing edge-case names.
Phase P3 — powerbi-export (Wave 2, feat)
Goal: Emit CSV/JSON views from the SQLite cold store to
metrics/powerbi/ — fact + dimension views + 8 empty placeholder views
for deferred metrics. After P3, a PowerBI folder-connector dashboard can
be built.
Requirements covered: REQ-190, REQ-199, REQ-208, REQ-209 (P3 half), REQ-205 (view half).
Primary persona: data-engineer.
Tasks (vertical slices):
-
PowerBI export core —
core/metrics/powerbi_export.pyreadsmetrics/nova_metrics.dband emits CSV/JSON views tometrics/powerbi/:fact_run.csv,fact_capability.csv,fact_policy_check.csv,fact_confidence.csv,fact_test.csv,fact_decision.csv,fact_cost_estimate.csv,fact_lifecycle.csv,dim_capability.csv,dim_milestone.csv. D-129 (CSV/JSON folder connector).- Acceptance: after
powerbi_export.pyruns, all 10 CSV files exist inmetrics/powerbi/with non-empty content (given a populated cold store);test_powerbi_exportpasses.
- Acceptance: after
-
8 deferred placeholder views — empty CSV files with documented schemas (headers only, no data rows) for the 8 deferred metrics: (1) Live Infrastructure Health, (2) Live Outbox Write Rate, (3) Tamper-Evident Ledger Checkpoints, (4) Onboarding Funnel (requested→granted), (5) Drift Auto-Reversal Rate, (6) Live CUR Reconciliation, (7) SLA / Unplanned Downtime, (8) Predictive vs Reactive Ratio. D-123. Each has a header row documenting the columns + a comment row citing the blocking decision ID.
- Acceptance: all 8 placeholder CSVs exist with header rows + a
decision-ID comment;
test_placeholder_viewspasses.
- Acceptance: all 8 placeholder CSVs exist with header rows + a
decision-ID comment;
-
METRICS_VIEWS.md data dictionary —
docs/METRICS_VIEWS.mdhas a per-column data-dictionary table (column, type, source/formula, unit, grounded/derived/deferred status) for every view. REQ-209 (P3 half).- Acceptance:
docs/METRICS_VIEWS.mdexists with a complete per-column table covering all 18 views (10 fact/dim + 8 placeholder).
- Acceptance:
-
NOVA_DASHBOARD_README.md —
metrics/powerbi/NOVA_DASHBOARD_README.mddocuments the folder-connector import path + a starter visual model + a reference screenshot placeholder. REQ-208.- Acceptance: the README exists with import steps + visual model description.
-
Schema validation in CI —
run_ci.shvalidatesmetrics/powerbi/*.json+ a samplemetrics/events.jsonlagainst their schemas; exits 0. REQ-199.- Acceptance:
bash scripts/run_ci.shvalidates the PowerBI JSON exports + a sample events file; exits 0.
- Acceptance:
Must-haves:
core/metrics/powerbi_export.pyexists and is tested.metrics/powerbi/contains all 10 fact/dim CSVs + 8 placeholder CSVs.docs/METRICS_VIEWS.mdhas the per-column data dictionary.metrics/powerbi/NOVA_DASHBOARD_README.mdexists.run_ci.shschema validation (REQ-199) passes.bash scripts/run_ci.shexits 0.
Risks + mitigations:
- Risk: Placeholder view schemas diverge from what the future emitter
will produce. Mitigation: the schema is documented in the header row
- METRICS_VIEWS.md; the future emitter must conform to the documented schema.
- Risk: PowerBI folder connector quirks (CSV encoding, delimiters). Mitigation: UTF-8 + comma-delimited; documented in the README.
Phase P4 — metrics-catalog + north-star-integration (Wave 3, docs)
Goal: Catalog every executive KPI in docs/METRICS.md with
grounded/derived/deferred status + per-KPI definition-of-success docs.
Wire NORTH_STAR.md into CIAgent context-loading so every future
/ci-run reads it. Produce the trust-snapshot report, the deferred-metrics
roadmap, the confidence-gate halt rate metric, and the no-humans thesis
brief. After P4, the metrics layer is fully documented and the strategic
direction is durable.
Requirements covered: REQ-186, REQ-191, REQ-192, REQ-193, REQ-194, REQ-195, REQ-204, REQ-209 (P4 half), REQ-210, REQ-211, REQ-212, REQ-213 (P4 half).
Primary persona: lead-developer. Supporting: data-engineer (metric definitions).
Tasks (vertical slices):
-
METRICS.md catalog —
docs/METRICS.mdcatalogs every executive KPI with: name, NORTH_STAR target,grounded/derived/deferredstatus, source file or decision ID, and a link to the per-KPI definition doc. REQ-195. Covers all metrics from the scorecard (RESEARCH.md §3): Touchless Resolution Rate, Human Escalation Frequency, MTTR (platform-run), AI Decision Accuracy, Decision Ledger Coverage, Attestation Coverage, Capability Health, Confidence Distribution, Policy Pass Rate, Test Count/Pass Rate, Provisioning Lead Time, Deployment Frequency, Cost Estimates (Infracost), FTE Hours Saved, Platform ROI, Confidence-Gate Halt Rate, + the 8 deferred metrics.- Acceptance:
docs/METRICS.mdexists; every KPI has a status badge- a source link; a grep confirms no KPI is missing a status.
- Acceptance:
-
Per-KPI definition-of-success docs —
docs/metrics/<kpi>.mdfor every KPI (D-127). Each doc defines: the metric, the formula, the grounding status, the source file, the definition of success (what number = "won"), and the deferred dependency (if applicable).- Acceptance:
docs/metrics/contains one.mdper KPI; each doc has all 5 sections.
- Acceptance:
-
Zero-touch efficiency metrics docs — REQ-191: Autonomous Resolution Rate, Human Escalation Frequency, AI Decision Accuracy, MTTD/MTTR (platform-run, D-131). Documented in METRICS.md + per-KPI docs with the attestation exclusion clarification (attestation gates are designed controls, not escalations).
- Acceptance: the 4 metrics have per-KPI docs with the correct formulas + attestation exclusion language.
-
Velocity metrics docs — REQ-192: Provisioning Lead Time (apply.completed.time − intent.received.time), Deployment Frequency (count(apply.completed) per day). Self-Healing Velocity deferred.
- Acceptance: the 2 metrics have per-KPI docs; the deferral is documented.
-
Financial & cost-ROI metrics docs — REQ-193: FTE Hours Saved (derived), Cost Savings via Infracost (grounded), Cost Efficiency Ratio (derived), Platform ROI (derived formula). Live CUR deferred (D-096).
- Acceptance: the 4 metrics have per-KPI docs with formulas; the CUR deferral cites D-096.
-
Reliability, security & compliance metrics docs — REQ-194: Zero-Trust Policy Compliance Rate (from pcr.json), Attestation Coverage (prod/dr promotions attested by a human ÷ total prod/dr promotions; grounded in
hitl_gates.py+ outboxapprover_*attributes). Uptime, Patch Remediation, SLA/downtime deferred (D-096). Attestation Coverage is canonically owned here (REQ-194), not in REQ-191.- Acceptance: the 2 grounded metrics have per-KPI docs; the 3 deferred metrics have deferral docs citing D-096.
-
NORTH_STAR integration — REQ-186:
NORTH_STAR.mdis referenced fromPROJECT.md(a "Strategic Direction" section pointing to it) +ARCHITECTURE.md(the v1.17 addendum already references it).config.jsongainsstrategic_direction_file: ".ciagent/NORTH_STAR.md"so the run workflow reads it at SPECIFY.- Acceptance:
PROJECT.mdhas a Strategic Direction section;config.jsonhas thestrategic_direction_filekey; a test confirms the file is readable.
- Acceptance:
-
NORTH_STAR diff-check in CI — REQ-204:
run_ci.shincludescheck_north_star_diffthat fails when Vision/Objectives/Anti-Goals/ Targets sections change without aNORTH_STAR-CHANGE:commit trailer.- Acceptance: a test commit changing a Target without the trailer fails the check; a commit with the trailer passes.
-
Deferred-metrics activation roadmap —
docs/METRICS_DEFERRED_ROADMAP.mdlists 8 deferred metrics + onboarding-grant half with {blocking decision, unblock requirement, candidate milestone} + a "Hot-Path Activation (post-D-096)" section (Nova-native only, D-120) + "Re-evaluation Triggers" section. REQ-210.- Acceptance: the roadmap exists with all 8 + the onboarding-grant half + the 2 sections.
-
Trust-snapshot report —
core/metrics/trust_snapshot.pyemitsmetrics/TRUST_SNAPSHOT.mdwith 5 trust metrics (Decision Ledger Coverage, Attestation Coverage, Capability Health, AI Decision Accuracy, Confidence-Gate Halt Rate) + chain-integrity verdict + snapshot hash. Runs offline. REQ-211.- Acceptance:
metrics/TRUST_SNAPSHOT.mdexists after runningtrust_snapshot.py; the 5 metrics + verdict + hash are present;test_trust_snapshotpasses.
- Acceptance:
-
Confidence-Gate Halt Rate metric — REQ-212:
docs/METRICS.md+ trust snapshot include "Confidence-Gate Halt Rate" (signal.json band=halt ÷ total runs). PowerBI view includes it (added tofact_confidenceprojection in P3's export — coordinate with P3).- Acceptance: METRICS.md has the metric; the trust snapshot includes it; the PowerBI export includes a column for it.
-
No-humans thesis brief —
docs/NO_HUMANS_THESIS.mddefines the thesis, grounded proof metrics, deferred proof metrics, and explicit anti-claims (incl. D-122 honesty: the "AI" is the confidence-gated policy engine, not an LLM). REQ-213 (P4 half). The unified deck's Vision act cites it (P5).- Acceptance:
docs/NO_HUMANS_THESIS.mdexists with all 4 sections; the anti-claims section explicitly addresses D-122.
- Acceptance:
Must-haves:
docs/METRICS.mdcatalogs every KPI with status + source.docs/metrics/*.mdper-KPI docs exist for every KPI.NORTH_STAR.mdreferenced from PROJECT.md + ARCHITECTURE.md + config.json.run_ci.shincludescheck_north_star_diff(REQ-204).docs/METRICS_DEFERRED_ROADMAP.mdexists (REQ-210).core/metrics/trust_snapshot.py+metrics/TRUST_SNAPSHOT.md(REQ-211).- Confidence-Gate Halt Rate in METRICS.md + trust snapshot + PowerBI (REQ-212).
docs/NO_HUMANS_THESIS.mdexists (REQ-213 P4 half).bash scripts/run_ci.shexits 0.
Risks + mitigations:
- Risk: KPI definitions drift from NORTH_STAR targets. Mitigation: the catalog cross-references NORTH_STAR target rows; the diff-check (REQ-204) catches NORTH_STAR changes.
- Risk: The no-humans thesis overclaims. Mitigation: D-122 honesty constraint — the anti-claims section explicitly states the "AI" is the confidence-gated policy engine; A3.
Phase P5 — deck-rebuild (Wave 3, docs+test)
Goal: Merge the two existing decks into one unified narrative deck
"Nova — The No-Humans Infrastructure Platform" with the 5-act arc
(Problem → Vision → How → Proof → Roadmap), x3 structure at deck + slide
level, per-slide benefit callouts, fluid transitions, a metrics glossary
appendix slide, a "what's deferred" slide, and the no-humans thesis cited
in the Vision act. Retire both old decks. Re-run the 4-step deck process
(source .md → Marp → HTML → talking-points).
Requirements covered: REQ-196, REQ-197, REQ-202, REQ-203, REQ-213 (P5 half).
Primary persona: lead-developer.
Tasks (vertical slices):
-
Unified deck source markdown —
docs/presentations/nova-no-humans-platform.mdis the single source of truth (the full slide-by-slide plan is in the "Deck Rebuild Plan" section below). The 5-act arc with x3 at deck level (opening = arc preview, body = tell them, closing = recap + ask) + x3 per slide (opens with what it covers, delivers, closes with benefit callout). Fluid transitions written into each slide's opening line. REQ-196, REQ-197.- Acceptance: the source
.mdexists with all slides from the deck plan below; each slide has the 3-part structure; transitions are written.
- Acceptance: the source
-
Marp deck —
docs/presentations/nova-no-humans-platform-marp.md(Marp-formatted with the S&P visual theme,sp-theme.jsonunchanged).- Acceptance: the Marp deck renders to HTML with the correct slide count + theme.
-
HTML render —
docs/presentations/nova-no-humans-platform.html(re-rendered from the Marp deck).- Acceptance: the HTML exists and opens with the correct title slide.
-
Talking points —
docs/presentations/nova-no-humans-platform-talking-points.md(distilled from the Marp deck, one section per slide with speaker notes).- Acceptance: the talking-points file exists with one section per slide.
-
Metrics glossary appendix slide — REQ-202: the deck has a "Metrics Glossary" appendix slide with one-line KPI definitions + grounding badges (grounded/derived/deferred).
- Acceptance: the glossary slide exists with all KPIs + badges.
-
"What's Deferred — and Why" slide — REQ-203: the deck has a slide pairing each of 8 deferred metrics with its blocking decision ID.
- Acceptance: the deferred slide exists with all 8 + decision IDs.
-
No-humans thesis cited in Vision act — REQ-213 (P5 half): the Vision act cites
docs/NO_HUMANS_THESIS.md(the thesis, grounded proof, deferred proof, anti-claims).- Acceptance: the Vision act slides reference the thesis brief.
-
Retire both old decks — delete
how-the-platform-works.md+-marp.md+.html+-talking-points.md+the-developer-experience.md-marp.md+.html+-talking-points.md. D-130.
- Acceptance: a grep confirms the old deck files are deleted; no references to them remain in the repo.
Must-haves:
docs/presentations/nova-no-humans-platform.md(+ marp + html + talking-points) exists with the full slide plan.- x3 structure at deck + slide level (REQ-197).
- Per-slide benefit callouts (REQ-197).
- Fluid transitions written into each slide (REQ-197).
- Metrics glossary appendix slide (REQ-202).
- "What's Deferred" slide (REQ-203).
- No-humans thesis cited in Vision act (REQ-213 P5 half).
- Both old decks deleted (D-130).
bash scripts/run_ci.shexits 0.
Risks + mitigations:
- Risk: The deck claims a metric that isn't grounded yet. Mitigation: P5 Proof act depends on P4's METRICS.md; every cited metric has a grounded source file verified by the catalog.
- Risk: The old decks are referenced by other docs. Mitigation: grep for references before deletion; update or remove them.
Phase P6 — regression-capability (Wave 4, test)
Goal: Add CAP-023 (metrics collector runs, emits expected schema) +
CAP-024 (deck structure: slide count, x3 present, per-slide benefit
present) to core/regression_verify.py. After P6, the regression gate
protects the metrics layer + the deck structure.
Requirements covered: REQ-198.
Primary persona: backend-engineer. Supporting: data-engineer (CAP-023 schema).
Tasks (vertical slices):
-
CAP-023 — metrics collector —
core/regression_verify.pygains aCAP-023check: runscore/metrics/collector.pyagainst a fixture metrics dir, asserts the SQLite cold store has all fact/dim tables with the expected schema, asserts idempotent re-run. Tags Verified/Decayed/Broken.- Acceptance:
CAP-023returns Verified when the collector produces the correct schema;test_regression_cap023passes.
- Acceptance:
-
CAP-024 — deck structure —
core/regression_verify.pygains aCAP-024check: parsesdocs/presentations/nova-no-humans-platform.md, asserts (a) slide count is in the expected range (12–20), (b) the x3 structure is present (opening arc preview + closing recap), (c) each slide has a benefit callout. Tags Verified/Decayed/Broken.- Acceptance:
CAP-024returns Verified when the deck meets all 3 criteria;test_regression_cap024passes.
- Acceptance:
-
Regression gate run —
bash scripts/run_regression.shruns the full gate (22 prior capabilities + CAP-023 + CAP-024 = 24 total). All must pass (Verified or Skipped per D-118).- Acceptance: the regression report shows 24 capabilities, all Verified or Skipped, 0 Decayed/Broken.
Must-haves:
CAP-023+CAP-024incore/regression_verify.py.bash scripts/run_regression.shpasses (24 capabilities, 0 Broken).bash scripts/run_ci.shexits 0.
Risks + mitigations:
- Risk: CAP-024's slide-count range is too tight and breaks on minor deck edits. Mitigation: the range is 12–20 (generous); the check focuses on structure (x3 + benefit callouts), not exact count.
Phase P7 — final-review-ship (Wave 4, review+audit+ship)
Goal: Multi-persona review (incl. deck story quality), audit, and milestone ship. After P7, v1.17 is complete and ready for the final merge.
Requirements covered: all (review gate).
Primary persona: lead-developer. Supporting: all active personas (review participation).
Tasks (vertical slices):
-
Multi-persona review — each active persona reviews their territory:
- backend-engineer: event emitters, Decision Ledger, Infracost adapter, regression CAP-023/024 code.
- data-engineer: collector, PowerBI export, schemas, data dictionary.
- lead-developer: NORTH_STAR integration, METRICS.md catalog, deck narrative, no-humans thesis.
- Deck story quality review: the lead-developer reviews the deck for narrative coherence, fluidity, and benefit-callout quality.
- Acceptance: review findings recorded; P0/P1 findings fixed before ship; P2 findings logged for future milestones.
-
Audit — verify:
- All 29 requirements (REQ-185..213) have a status of
completein the traceability table. - No stale claims in the deck (every metric citation has a grounded source).
NORTH_STAR.mdis readable + referenced.- The regression gate passes (24 capabilities).
bash scripts/run_ci.shexits 0.- Acceptance: audit PASS recorded in
---ci---block.
- All 29 requirements (REQ-185..213) have a status of
-
Milestone completion — update
PROJECT.md,ROADMAP.md,REQUIREMENTS.mdtraceability to mark v1.17 complete. Tagv1.16.7(P7 patch on the v1.16.x line).- Acceptance:
PROJECT.mdreflects v1.17 complete; tagv1.16.7exists.
- Acceptance:
Must-haves:
- All 29 requirements marked complete.
- Multi-persona review complete (incl. deck story quality).
- Audit PASS.
- Regression gate 24/24 (Verified or Skipped).
bash scripts/run_ci.shexits 0.- Tag
v1.16.7exists.
Risks + mitigations:
- Risk: Review surfaces a P0 finding late. Mitigation: the review is scoped to each persona's territory; findings are fixed before the audit step.
Phase P8 — milestone-ship (Final)
Goal: Merge the milestone branch to main, tag v1.16.8 (the milestone
release), publish the Gitea release, and delete the milestone branches.
Requirements covered: all (ship gate).
Primary persona: lead-developer.
Tasks (vertical slices):
-
Merge to main — merge
milestone/v1.17-strategic-metrics-deck→main.- Acceptance:
maincontains all v1.17 commits;git log mainshows the milestone merge.
- Acceptance:
-
Tag + release — tag
v1.16.8on main; publish the Gitea release (Nova v1.16.8 — Strategic Direction, Leadership Metrics & Unified Story) with the release notes summarizing the three pillars.- Acceptance: tag
v1.16.8exists; Gitea release published (release ID recorded).
- Acceptance: tag
-
Delete milestone branches — delete
milestone/v1.17-strategic-metrics-deck- all
phase/NN-*branches.
- Acceptance:
git branch -rshows no v1.17 milestone/phase branches.
- all
Must-haves:
mainhas the v1.17 merge.- Tag
v1.16.8exists. - Gitea release published.
- Milestone + phase branches deleted.
Risks + mitigations:
- Risk: Merge conflicts on main. Mitigation: the milestone branch is off the v1.16 complete merge; rebase before merge if needed.
Deck Rebuild Plan
The unified deck: "Nova — The No-Humans Infrastructure Platform." 5-act arc: Problem → Vision → How → Proof → Roadmap. x3 at deck level (opening = arc preview, body = tell them, closing = recap + ask) + x3 per slide (opens with what it covers, delivers, closes with benefit callout). Fluid transitions written into each slide's opening line. Act indicator in the Marp footer (
Act N/5: <act name>).
Deck-level x3 structure
| Level | "What I'm going to tell you" | "Tell them" | "What I told you" |
|---|---|---|---|
| Deck | Slide 1 (arc preview: Problem→Vision→How→Proof→Roadmap; with 18V+0-consumer stake line) | Slides 2–15 (the 5 acts, 14 slides) | Slide 16 (recap of 5 acts + the business-decision ask) |
| Per slide | Opening line: "This slide shows X" | Body: bullets/diagram/table | Closing line: "Benefit: you now know Y" |
Act 1 — Problem (2 slides)
Transition into Act 1: (none — this is the opening; the arc preview slide sets up all 5 acts).
Slide 1 — Arc Preview (the "what I'm going to tell you" deck-level opening)
- Opens: "This deck proves Nova is the no-humans infrastructure platform — and shows you the metrics that make the claim defensible."
- Stake line (G-Q8 binding): "Today: 18 capabilities verified, 0 consumer estates in production. This deck shows what's proven, what's pipeline-ready, and what's honestly deferred."
- Delivers: The 5-act arc as a visual roadmap: Problem → Vision → How → Proof → Roadmap. One-line summary per act.
- Closes: "Benefit: you leave this deck knowing which claims are proven today, which are pipeline-ready, and which are deferred with a documented unblock path — no marketing, just grounded evidence."
- Grounded metrics cited: 18 Verified + 4 Skipped (source:
REGRESSION_REPORT.json); 0 consumers (source:PROJECT.md:495). - Deferred metrics: none.
Slide 2 — The No-Humans Imperative
- Opens: "This slide shows why the operator is the bottleneck — and why removing them from operations (not accountability) is the imperative."
- Delivers: The cost of humans-in-the-loop: L1/L2 ops hours, escalation
latency, the trust gap (autonomous claims without proof). Cites the
no-humans thesis (
docs/NO_HUMANS_THESIS.md). - Closes: "Benefit: you now know the problem framing — autonomy in operations, human at stage gates, is the path forward."
- Grounded metrics cited: none (problem framing).
- Deferred metrics: none.
- Transition into Act 2: "Having defined the problem, here is Nova's strategic direction toward solving it."
Act 2 — Vision/Direction (3 slides)
Transition into Act 2: "Having defined the problem, here is Nova's strategic direction toward solving it."
Slide 3 — Nova's Vision
- Opens: "This slide states Nova's vision — infrastructure operations become invisible, with provable trust."
- Delivers: The NORTH_STAR vision statement verbatim. The attestation
model: human attestation required at stage gates (QA for production, SRE
for operational readiness); autonomy in operations, not in
accountability. Cites
docs/NO_HUMANS_THESIS.md(the thesis, grounded proof, deferred proof, anti-claims incl. D-122 honesty). - Closes: "Benefit: you now know the destination — invisible operations with provable trust, not promised trust."
- Grounded metrics cited: none (vision).
- Deferred metrics: none.
- Transition: "The vision is ambitious — here are the 4 strategic objectives that make it concrete."
Slide 4 — Strategic Objectives + Anti-Goals
- Opens: "This slide pairs what Nova is building toward (4 objectives) with what Nova refuses to build (5 anti-goals)."
- Delivers: The 4 strategic objectives (zero-touch ops, provable trust,
compounding ROI, default substrate for agentic consumption) + the 5
anti-goals (not a hyperscaler competitor, not a general AI platform, not
removing humans from accountability, not for legacy infra, not sold to
operators). From
NORTH_STAR.md. - Closes: "Benefit: you now know the scope boundaries — Nova is purpose-built for infrastructure operations, sold to leadership on outcomes, and explicitly not a general-purpose AI platform or a hyperscaler competitor."
- Grounded metrics cited: none (direction).
- Deferred metrics: none.
- Transition: "The objectives are committed to measurable targets — here is the 12–18 month scorecard, with honest grounding status."
Slide 5 — 12–18 Month Targets (the scorecard)
- Opens: "This slide shows the committed targets — numbers a board member can repeat back — with their grounding status."
- Delivers: The NORTH_STAR targets table with the grounding column: Touchless Resolution Rate ≥99% (grounded), Human Escalation <0.1% (grounded), MTTR <60s (grounded, platform-run), AI Decision Accuracy ≥99.5% (grounded), Decision Ledger Coverage 100% (grounded), Attestation Coverage 100% (grounded), Cloud Spend Reduction ≥25% (partial — Infracost grounded, CUR deferred), Platform ROI ≥250% (derived), + deferred targets (Predictive vs Reactive, Drift Auto-Reversal, AI-Agent Intent Share) marked Planned.
- Closes: "Benefit: you now know the destination numbers — and which ones are measurable today vs deferred honestly."
- Grounded metrics cited: Touchless Resolution Rate, Human Escalation
Frequency, MTTR, AI Decision Accuracy, Decision Ledger Coverage,
Attestation Coverage — all
groundedwith source files. - Deferred metrics marked Planned: Predictive vs Reactive, Drift Auto-Reversal, AI-Agent Intent Share.
- Transition into Act 3: "The targets are committed — here is how Nova works to achieve them."
Act 3 — How it works (4 slides)
Transition into Act 3: "The targets are committed — here is how Nova works to achieve them."
Slide 6 — The Platform Pipeline
- Opens: "This slide shows the contract-to-evidence pipeline — how intent becomes verified infrastructure without an operator."
- Delivers: The pipeline flow: contract → resolver → adapter → terraform
plan → Checkov (policy) → confidence signal → HITL gate (dev autonomous;
qa/prod/dr attested) → apply → evidence. Mermaid diagram. Grounded in
scripts/run_platform.sh+core/contract_resolver.py+adapters/terraform/adapter.py+core/confidence_signal.py. - Closes: "Benefit: you now know the path from intent to evidence — and where the human appears (stage gates only)."
- Grounded metrics cited: none (architecture).
- Deferred metrics: none.
- Transition: "The pipeline produces decisions — here is how every decision is captured and made accountable."
Slide 7 — The Decision Ledger
- Opens: "This slide shows the Decision Ledger — every AI decision captured with confidence, alternatives, and outcome."
- Delivers: The Decision Ledger architecture:
outbox_writer.pyextended → SQLite append-only hash-chain table.ai.decision.madeevents (decision_id=run_id, chosen_action=band, confidence=score, alternatives=perInput, human_override=HITL block) with outcome backfill fromapply.completed.attestation.recordedevents for qa/prod/dr. D-121, D-122, D-132. Honors D-083 (no S3 Object Lock/JWS — local hash-chain this milestone). - D-122 honesty sentence (G-Q4 binding): "Nova's 'AI' is the confidence-gated policy engine (confidence_signal + HITL gate), not an LLM planner. The Decision Ledger captures this real decision path — not a fabricated 'AI agent' that doesn't exist yet."
- Closes: "Benefit: you now know why 'autonomous' is defensible — every decision is immutable, queryable, and accountable. And you know exactly what 'AI' means here: a confidence-gated policy engine, not a black-box LLM."
- Grounded metrics cited: Decision Ledger Coverage 100% (source:
core/metrics/decision_ledger.py+metrics/decision_ledger.db). - Deferred metrics marked Planned: Tamper-Evident Ledger Checkpoints (D-083).
- Transition: "Decisions are captured — here is how stage-gate attestation keeps humans in accountability."
Slide 8 — The 8-Concern Attestation Matrix
- Opens: "This slide shows the 8-concern attestation matrix — the designed controls that keep humans at stage gates."
- Delivers: The 8 concerns (functional, performance, security posture,
contract NFRs, operational readiness, incident response, capacity/cost,
resilience). Offline-testable concerns run for real; operator-supplied
concerns accept signed evidence artifacts. Separation-of-duties on prod.
Grounded in
core/attestation_matrix.py+core/hitl_gates.py. - Closes: "Benefit: you now know the gate model — autonomy in operations, human in accountability, by design."
- Grounded metrics cited: Attestation Coverage 100% (source:
core/hitl_gates.py+ outboxapprover_*attributes). - Deferred metrics: none.
- Transition into Act 4 (G-Q13 binding — rewritten): "You've now seen how Nova works — the pipeline, the Decision Ledger, the attestation gates. But 'how it works' is not 'proof it works.' The next four slides show the measured evidence: capability health, trust metrics, efficiency, and cost — every number grounded in a real file, not a marketing claim."
Slide 9 — Telemetry Architecture (G-Q14 binding — benefit reframed from data plumbing to trust)
- Opens: "This slide shows how Nova instruments itself — the CloudEvents envelope, the cold store, and the PowerBI export."
- Delivers: The telemetry architecture diagram (from ARCHITECTURE.md
v1.17 addendum): platform components → CloudEvents 1.0 envelope →
metrics/events.jsonl+metrics/runs/+metrics/decision_ledger.db→ collector →metrics/nova_metrics.db(SQLite cold store) →metrics/powerbi/(CSV/JSON views) → PowerBI. D-120 (Nova-native), D-125 (hybrid events/files), D-126 (cold-only). - Closes: "Benefit: you now know that every metric in this deck is traceable to a real emitted event — the architecture IS the trust substrate. When a CFO asks 'where does this number come from?', the answer is a file path, not a Slack thread."
- Grounded metrics cited: none (architecture).
- Deferred metrics marked Planned: Hot-path (live ops dashboard) — D-126.
- Transition into Act 4: "The architecture is sound — here is the measured proof."
Act 4 — Proof (4 slides)
Transition into Act 4: "The architecture is sound — here is the measured proof."
Slide 10 — Capability Health + Confidence Distribution
- Opens: "This slide shows the grounded proof: capability health and confidence distribution from real runs."
- Delivers: Capability health: 18 Verified + 4 Skipped (post-D-096
teardown) from
.ciagent/REGRESSION_REPORT.json. Confidence distribution: frommetrics/nova_metrics.dbfact_confidence— score histogram, band breakdown (pass/halt). The honesty model: Skipped is honest (resources torn down per D-096), not a failure. - Closes: "Benefit: you now know the platform is verified — 18 capabilities pass, 4 are honestly skipped, 0 broken."
- Grounded metrics cited: Capability Health (source:
REGRESSION_REPORT.json), Confidence Distribution (source:metrics/nova_metrics.dbfact_confidence). - Deferred metrics: none.
- Transition: "Capability health is necessary — here is the trust substrate that makes autonomy defensible."
Slide 11 — Decision Ledger + Attestation Coverage
- Opens: "This slide shows the trust metrics — Decision Ledger coverage and attestation coverage, both 100%."
- Delivers: Decision Ledger Coverage: 100% of platform runs emit
ai.decision.madewith outcome backfill (source:metrics/decision_ledger.db). Attestation Coverage: 100% of prod/dr promotions attested by a human (source:hitl_gates.py+ outboxapprover_*attributes). AI Decision Accuracy: decisions not followed by apply.failed/incident within 5min. The trust-snapshot report (metrics/TRUST_SNAPSHOT.md) with chain-integrity verdict. - Closes: "Benefit: you now know the trust is provable — not a marketing claim, a queryable record."
- Grounded metrics cited: Decision Ledger Coverage, Attestation
Coverage, AI Decision Accuracy (source:
metrics/decision_ledger.db+metrics/TRUST_SNAPSHOT.md). - Deferred metrics: Tamper-Evident Ledger Checkpoints (D-083) — Planned.
- Transition: "Trust is provable — here is the operational efficiency that makes the ROI real."
Slide 12 — Zero-Touch Efficiency (G-Q10 binding — split from old slide 12)
- Opens: "This slide shows the zero-touch efficiency metrics — touchless resolution, human escalation, and MTTR."
- Delivers: Touchless Resolution Rate (runs without operational HITL block ÷ total; attestation gates excluded). Human Escalation Frequency (operational HITL blocks only). MTTR (platform-run: apply.failed → successful retry, D-131). Post-Pilot caveat (G-Q5 binding): these three metrics are computed on N internal runs today; the production-denominator activates when a pilot estate runs (see NORTH_STAR Post-Pilot Targets section).
- Closes: "Benefit: you now know the zero-touch efficiency is measurable — the pipeline works today on internal runs, and the denominator expands to production estates when a pilot activates."
- Grounded metrics cited: Touchless Resolution Rate, Human Escalation
Frequency, MTTR (source:
metrics/nova_metrics.dbfact_run). - Derived metrics: none on this slide.
- Deferred metrics marked Planned: Self-Healing Velocity (no auto-remediator).
- Transition: "Efficiency is half the ROI story — here is the cost side."
Slide 13 — Cost & ROI (G-Q10 binding — split from old slide 12; G-Q15 binding — formula inline + N=0 caveat)
- Opens: "This slide shows the cost estimates and the ROI formula — with honest caveats about the current denominator."
- Delivers: Cost Estimates via Infracost (pre-apply, grounded).
ROI formula shown inline (G-Q15 binding):
Platform ROI = (FTE hours saved × blended rate + cloud savings + avoided downtime) ÷ platform op cost. N=0 caveat (G-Q5/G-Q15 binding): "These derived metrics are computed on N internal runs today; the production-denominator activates post-pilot. The formula is grounded; the production numbers are not yet." FTE Hours Saved (derived). Platform ROI (derived formula). The grounded/derived/deferred honesty model. - Closes: "Benefit: you now know the ROI formula — and you know it's computed on internal runs today, not fabricated production numbers. The formula is ready; the production denominator activates with a pilot."
- Grounded metrics cited: Cost Estimates (source:
metrics/nova_metrics.dbfact_cost_estimate). - Derived metrics: FTE Hours Saved, Platform ROI (formula shown inline).
- Deferred metrics marked Planned: Live CUR Reconciliation (D-096), Drift Auto-Reversal (D-096).
- Transition: "The proof is grounded — here is what is honestly deferred."
Slide 14 — What's Deferred — and Why (G-Q11 binding — preempt: deferrals are measurement infra, not whether the platform runs without humans)
- Opens: "This slide pairs each deferred metric with its blocking decision — honesty about what isn't measured yet."
- Preempt (G-Q11 binding): "To be clear: these deferrals are measurement infrastructure, not whether the platform runs without humans. The platform IS autonomous in operations. What's deferred is the evidence pipeline for certain metrics (live infra health, drift detection, predictive remediation) — not the autonomy itself."
- Delivers: The 8 deferred metrics + onboarding-grant half, each paired
with its blocking decision ID: (1) Live Infrastructure Health — D-096,
(2) Live Outbox Write Rate — D-096, (3) Tamper-Evident Ledger
Checkpoints — D-083, (4) Onboarding Funnel (granted) — D-113/D-114/D-119,
(5) Drift Auto-Reversal — D-096 + no scheduler, (6) Live CUR
Reconciliation — D-096, (7) SLA / Unplanned Downtime — D-096,
(8) Predictive vs Reactive — future emitter. From
docs/METRICS_DEFERRED_ROADMAP.md. - Closes: "Benefit: you now know the boundaries — what Nova measures today, and exactly what blocks the rest. The autonomy is real; the measurement gaps are documented."
- Grounded metrics cited: none (deferral honesty).
- Deferred metrics: all 8 + onboarding-grant half, each with decision ID.
- Transition into Act 5: "The proof is honest — here is the roadmap from here to the 12–18 month targets."
Act 5 — Roadmap/Ask (2 slides)
Transition into Act 5: "The proof is honest — here is the roadmap from here to the 12–18 month targets."
Slide 15 — Roadmap to the North Star
- Opens: "This slide shows the path from v1.17's grounded metrics to the 12–18 month targets — the unblock path for each deferred metric."
- Delivers: The deferred-metrics activation roadmap (from
docs/METRICS_DEFERRED_ROADMAP.md): each deferred metric → blocking decision → unblock requirement → candidate milestone. The hot-path activation section (post-D-096, Nova-native only, D-120). Re-evaluation triggers. - Closes: "Benefit: you now know the path — every deferred metric has an unblock requirement and a candidate milestone."
- Grounded metrics cited: none (roadmap).
- Deferred metrics: all 8 referenced with unblock paths.
- Transition: "The roadmap is clear — here is the recap and the ask."
Slide 16 — Recap + Ask (the "what I told you" deck-level closing; G-Q16 binding — ask reframed as a business decision)
- Opens: "This slide recaps the 5 acts and states the ask."
- Delivers: Recap: Problem (operator bottleneck) → Vision (invisible ops, provable trust) → How (pipeline + Decision Ledger + attestation) → Proof (18V+4S, 100% ledger coverage, 100% attestation, grounded ROI formula) → Roadmap (deferred metrics have unblock paths). The ask (G-Q16 binding — reframed as a business decision, not insider language): "The ask is a business decision: approve a pilot estate to activate the production-denominator metrics (Touchless Resolution, Human Escalation, AI Decision Accuracy), and approve the tamper- evident ledger build-out (D-083 lift) to move from local hash-chain to S3 Object Lock + JWS. These two decisions move Nova from 'pipeline-ready' to 'production-proven.'"
- Closes: "Benefit: you leave with a clear business decision to make — approve a pilot + the ledger build-out — and the confidence that every claim in this deck is grounded, derived, or honestly deferred."
- Grounded metrics cited: Capability Health, Decision Ledger Coverage, Attestation Coverage (recap).
- Deferred metrics: referenced as the ask.
Appendix slides (2 slides)
Slide A1 — Metrics Glossary
- Opens: "This appendix defines every KPI in one line with its grounding badge."
- Delivers: One-line definitions for all KPIs with grounded/derived/ deferred badges. REQ-202.
- Closes: "Benefit: you now have a reference for every metric mentioned in the deck."
- Grounded metrics cited: all (glossary).
- Deferred metrics: all (badged).
Slide A2 — Operating Model & Cost
- Opens: "This appendix shows the real cost figures + the zero-cost steady state."
- Delivers:
COST.mdfigures ($0.001883 / 8 days, ~$0.007/mo, S3-dominated, zero BAU compute) + the zero-cost-steady-state / D-096 teardown claim. References the pre-mortem (PRE_MORTEM.md: v1.10 decay root cause + four forward failure modes + structural mitigations). - Closes: "Benefit: you now know the operating cost is negligible — and the structural mitigation that prevents decay."
- Grounded metrics cited: Cost figures (source:
COST.md). - Deferred metrics: none.
Fluidity strategy
- Every slide's opening line references the previous slide's close. Each slide above has an explicit transition sentence. No disjointed jumps. The Act 3→4 boundary (slide 9→10) was rewritten per G-Q13 binding: "But 'how it works' is not 'proof it works.'"
- Act indicator in the Marp footer.
Act N/5: <act name>keeps the audience oriented. Configured in the Marp theme. - The arc is visible. Slide 1 (arc preview + stake line) + slide 16 (recap + business-decision ask) bookend the deck. The audience always knows where they are in the 5-act structure.
- Per-slide benefit callout is the last line. Every slide closes with "Benefit: ..." — the audience leaves each slide with a takeaway, not a cliffhanger. Benefit callouts rewritten per G-Q9 binding (slides 1, 4, 13, 16 now give specific value, not generic restatements).
- The Proof act is the centerpiece. It is 5 slides (the longest act, expanded from 4 per G-Q10 binding: slide 12 split into Zero-Touch Efficiency + Cost & ROI) because the PO's direction is "prove it, don't promise it." The grounded/derived/deferred honesty model is the narrative spine of the Proof act.
- Deferred metrics are shown, not hidden. Slide 14 ("What's Deferred — and Why") pairs each deferred metric with its blocking decision, with a preempt (G-Q11 binding) clarifying that deferrals are measurement infrastructure, not whether the platform runs without humans.
- The D-122 honesty sentence on slide 7. The deck explicitly states that Nova's "AI" is the confidence-gated policy engine, not an LLM planner — per G-Q4 binding. This prevents the "no fabrication" constraint from being violated by implication.
- Derived metrics carry the N=0 caveat. Slides 12 and 13 annotate derived metrics (FTE, ROI) with "computed on N internal runs; production-denominator activates post-pilot" — per G-Q5/G-Q15 binding. The ROI formula is shown inline (G-Q15).
Deck file inventory (after P5)
| File | Status |
|---|---|
docs/presentations/nova-no-humans-platform.md |
NEW (source of truth, 16 main + 2 appendix slides per G-Q10 split) |
docs/presentations/nova-no-humans-platform-marp.md |
NEW (Marp) |
docs/presentations/nova-no-humans-platform.html |
NEW (rendered) |
docs/presentations/nova-no-humans-platform-talking-points.md |
NEW (talking points) |
docs/presentations/how-the-platform-works.md |
DELETED (retired, D-130) |
docs/presentations/how-the-platform-works-marp.md |
DELETED |
docs/presentations/how-the-platform-works.html |
DELETED |
docs/presentations/how-the-platform-works-talking-points.md |
DELETED |
docs/presentations/the-developer-experience.md |
DELETED (retired, D-130) |
docs/presentations/the-developer-experience-marp.md |
DELETED |
docs/presentations/the-developer-experience.html |
DELETED |
docs/presentations/the-developer-experience-talking-points.md |
DELETED |
Wave Dependency Graph
Wave 1 Wave 2 Wave 3 Wave 4 Final
┌──────────────────┐ ┌──────────────────┐ ┌──────────────┐
P1 (event emitters)──┤P2 (collector) │ │P4 (catalog + │ │P6 (regression│ P8
│ P3 (powerbi │──▶│ NORTH_STAR │──▶│ capability) │──▶(ship)
│ export) │ │ integration) │ │P7 (review + │
└──────────────────┘ │P5 (deck rebuild) │ │ audit + ship)│
└──────────────────┘ └──────────────┘
Critical path:
P1 ──▶ P2 ──▶ P3 ──▶ P4 ──▶ P5(Proof) ──▶ P6 ──▶ P7 ──▶ P8
Parallelization:
Wave 2: P2 schemas + P3 view schemas can be authored concurrently.
Wave 3: P4 docs/metrics/*.md + P5 Problem/Vision/How acts can be authored
concurrently; P5 Proof act waits for P4 METRICS.md.
Wave 4: P6 CAP-023 test can be drafted while P5 finishes.
Dependency details:
| Phase | Depends on | Blocks |
|---|---|---|
| P1 | (none — foundation) | P2, P3, P4, P5, P6 |
| P2 | P1 (event formats) | P3 (SQLite store), P4 (catalog sources), P6 (CAP-023) |
| P3 | P2 (SQLite store) | P4 (PowerBI view references), P6 (CAP-023 schema) |
| P4 | P2 + P3 (grounded metrics) | P5 (Proof act citations), P6 (CAP-024 deck structure) |
| P5 | P4 (METRICS.md for Proof act) | P6 (CAP-024 deck structure) |
| P6 | P2 + P3 (CAP-023) + P5 (CAP-024) | P7 (regression gate must pass) |
| P7 | P1–P6 (all prior phases) | P8 (audit must pass) |
| P8 | P7 (milestone complete) | (none — terminal) |
Execution approach
- Per-phase ship: each execution phase merges
phase/NN-*→milestone/v1.17-strategic-metrics-deckand tags a patch on the v1.16.x line (v1.16.1= P1 ...v1.16.7= P7,v1.16.8= P8 final). - Verification: 4-layer verify (structural/behavioral/security/quality) per phase; the regression gate (D-091, 22 prior + CAP-023 + CAP-024 = 24 capabilities) runs at P6 and P7.
- No live AWS:
NOVA_LIFECYCLE_MODE=plandefault; all metrics that require live AWS ship as placeholder views (D-096). Infracost runs offline (reads plan JSON, A6). - Test discipline: each phase that changes runtime code adds/updates
tests;
bash scripts/run_ci.shexits 0 at every phase boundary. - No fabrication: every metric carries a grounded/derived/deferred status with a source file or decision ID. No fabricated numbers in any deck slide or METRICS.md entry.
- Decision discipline: D-120..D-132 are locked. This plan does not re-open any locked decision. If a decision needs revisiting, it goes through the GRILL, not the plan.