Design specification for Cadora's deliverable pack: the color and type tokens, the anatomy of the rendered delivery report, its five sections in order (executive summary, what was delivered, quality and assurance, cost/FinOps, evidence appendix), the proof-underneath / story-on-top diagram, what cadora deliverable writes (deliverable.md always, deliverable.docx with the extra), who reads what, and the voice.

Cadora · design spec

The delivery report, by its surfaces

Everything needed to render or extend the client-facing delivery report — the exact tokens, the report's anatomy, its five sections in order, the proof-vs-story relationship, and what each flag writes. The rendered components are live HTML; edit them here or lift the specs into Figma. Same design system as the evidence pack — this is the readable surface over the same checksummed source.

Palette

Semantic first · green passes, red fails, amber flags an estimate


Green--scr-green · #16c784PASS · outcome ✓ · gate passed
Red--scr-red · #fb7185FAIL · outcome ✗ · gate failed
Amber--scr-amber · #ffd08aEstimated cost * · honesty flag
Blue--scr-blue · #6ba5f0Story layer · paths · files
Ink--scr-bg · #0f172aCard ground
Canvas--scr-canvas · #111c2fInset · document body
Panel--scr-panel2 · #162237Raised · callout
Line--scr-line · #334158Borders · section rules
Text--scr-text · #f5f7fbHeadings · node id · figures
Muted--scr-muted · #9aa8bcBody prose · captions

Type & metrics

A document, not a dashboard — the delivery report is Markdown, read as prose


RoleFamilySize / weightNotes
Report titlesans15px / 700Solution Delivery Report — <topology>, the # heading
Run meta linemono11px / 400Run id · Cadora version · generated timestamp
Section headingsans12px / 700The five ## headings, ruled with a 1px line
Body prosesans12px mutedstrong lifts figures to --scr-text
Delivery tablemono cells11pxNode · Backend · Model · Outcome · Gate · Cost
Estimate flagmonoamber* on estimated cost; footnoted under the table
MetricValueMetricValue
Card radius10pxLayer accent3px left border
Section rule1px solid lineOutcome glyphs✓ green · ✗ red
Verdict glyphs✅ PASS · ❌ FAILEstimate glyph* amber
Output filenamedeliverable.mdOptionaldeliverable.docx

Anatomy — the delivery report

Five sections, one order — the whole component a stakeholder reads


1 2 3 4 5
Solution Delivery Report — aidlc-hitl
Run pr1-verify · generated by Cadora 0.10.0 · 2026-07-17T14:20:03+00:00
Executive summary

Cadora conducted an AI-DLC pipeline (aidlc-hitl) across 3 nodes on claude. Outcome: ✅ PASS. Total metered cost $0.1873 (1 node(s) priced from the public price table). Gate verdicts — passed: 1. Integrity findings: 0. Human-review decisions: 2.

What was delivered
NodeBackendModelOutcomeGateCost
requirementsclaudeclaude-opus-4-8$0.0642
designclaudeclaude-opus-4-8$0.0511
constructionclaudeclaude-sonnet-4-5passed$0.0720*

* = cost estimated from the public price table (backend reported tokens, not dollars).

Quality & assurance
  • Gate verdicts: passed: 1
  • Integrity: 0 finding(s) across 0 node(s)
  • Human review: 2 recorded decision(s)
  • Verifiable evidence: checksummed — run cadora report pr1-verify for the pack.
Cost (FinOps)

Total: $0.1873 across 3 nodes, 1 estimated from the price table.

Evidence appendix
  • 23 archived file(s), each SHA-256 checksummed.
  • Honesty contract: exactly what the archive recorded; checksummed, not signed.
1Executive summary — one paragraph: topology, node count, backends, outcome, total cost (estimates flagged), gate roll-up, integrity and human-review counts.
2What was delivered — the per-node table across the AI-DLC phases. Node · Backend · Model · Outcome · Gate · Cost; a * marks an estimated cost, footnoted below.
3Quality & assurance — gate verdicts, integrity findings across N nodes, recorded human-review decisions, and the pointer to the checksummed evidence pack.
4Cost (FinOps) — the total across all nodes, with the estimated count called out.
5Evidence appendix — archived-file count, each SHA-256 checksummed, and the honesty contract restated: checksummed, not signed.

The report's sections

The exact ## headings render_deliverable emits, in order


01## Executive summary

A single paragraph a stakeholder can read in ten seconds: what ran, on which backends, whether it passed, what it cost, and the assurance counts.

figures ← summary.nodes · backends · run.ok · cost_usd · gates · integrity_findings · human_review_decisions
02## What was delivered

The per-node delivery table across the AI-DLC phases (inception → construction → operations, whichever the run has). One row per node; estimated costs carry a *.

rows ← report.nodes[] (node_id, executor, model, ok, gate, cost_usd, cost_estimated)
03## Quality & assurance

Gate verdicts, integrity findings across N nodes, human-review decisions — and the line that says every claim is checksummed, with the cadora report pointer.

← summary.gates · integrity_findings · integrity_failed_nodes · human_review_decisions
04## Cost (FinOps)

The total across all nodes, with the number of price-table estimates called out inline.

← summary.cost_usd · summary.nodes · summary.estimated_cost_nodes
05## Evidence appendix

Archived-file count (each SHA-256 checksummed) and the honesty contract restated — checksummed, not signed, no claim beyond what the gates verified.

← len(report.artifacts) · the inherited honesty contract

Proof underneath, story on top

Same archived run · same build_report() · two surfaces, two readers


story on top — the deliverable
Delivery report
deliverable.md · deliverable.docx
reader · stakeholder — reads the narrative, signs off
▲   both rendered from the same structured evidence   ▼
proof underneath — the evidence pack
Evidence pack
report.html · report.json · checksums.txt · checksums.txt.sig · signature.json
reader · verifier — recomputes every hash, checks the signature, offline

The deliverable reuses the evidence pack's structured report (build_report) rather than re-deriving anything. The pack is the checksummed proof; the deliverable is the readable story on top of it. One source of truth, so the two can never disagree.

What each flag writes

One verb · Markdown is the core, .docx is an optional extra


InvocationWritesNeeds
cadora deliverable <run>deliverable.mdnothing — dependency-free core
… --docxdeliverable.md · deliverable.docxpip install 'cadora[deliverable]'
… --out <dir>same files, into <dir>default <archive-dir>/<run-id>/
FlagDefaultEffect
--archive-dirrunsWhere the archived run is read from
--out<archive-dir>/<run-id>/Output directory for the report file(s)
--docxoffAlso render .docx (needs the deliverable extra)

Terminal receipt on success — delivery pack for <run>: then one md (and, with --docx, one docx) row per file written. The Markdown default lands beside the run, not inside the evidence pack's report/ directory.

Who reads what

Two surfaces, two desks — don't make the stakeholder recompute hashes


Evidence pack · the verifier

proof
Recomputes, doesn't read

Wants tamper-evidence: every SHA-256 hash re-checked, the signature confirmed — offline, no live Cadora.

$ cadora verify pr1-verify

Delivery report · the stakeholder

story
Reads, doesn't recompute

Wants the outcome, the cost, the assurance — in prose. Follows the appendix to the pack only if they want to.

open deliverable.md / .docx

The evidence pack — cadora report / sign / verify — is specified on its own. This deliverable cross-references it (the appendix names it) and never re-documents it.

Voice

A consulting report, not a sales deck — the archive is the only author


DoNot
State the recorded outcome — Outcome: ✅ PASS“Delivered flawlessly”
Flag every estimate — $0.0720* · 1 node(s) priced from the public price tableRound an estimate into a hard figure
Restate the contract — checksummed, not signedImply a cryptographic signature the report doesn't carry
Point to the proof — run cadora report … for the evidence packAsk the reader to take the numbers on faith
Sections, filenames, and behavior are taken verbatim from cadora/deliverable.py (render_deliverable) and the shared evidence in cadora/report.py (build_report). Edit the rendered components in place, or hand the palette and metrics tables to a Figma library.