Cadora · design spec
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.
Semantic first · green passes, red fails, amber flags an estimate
--scr-green · #16c784PASS · outcome ✓ · gate passed--scr-red · #fb7185FAIL · outcome ✗ · gate failed--scr-amber · #ffd08aEstimated cost * · honesty flag--scr-blue · #6ba5f0Story layer · paths · files--scr-bg · #0f172aCard ground--scr-canvas · #111c2fInset · document body--scr-panel2 · #162237Raised · callout--scr-line · #334158Borders · section rules--scr-text · #f5f7fbHeadings · node id · figures--scr-muted · #9aa8bcBody prose · captionsA document, not a dashboard — the delivery report is Markdown, read as prose
| Role | Family | Size / weight | Notes |
|---|---|---|---|
| Report title | sans | 15px / 700 | Solution Delivery Report — <topology>, the # heading |
| Run meta line | mono | 11px / 400 | Run id · Cadora version · generated timestamp |
| Section heading | sans | 12px / 700 | The five ## headings, ruled with a 1px line |
| Body prose | sans | 12px muted | strong lifts figures to --scr-text |
| Delivery table | mono cells | 11px | Node · Backend · Model · Outcome · Gate · Cost |
| Estimate flag | mono | amber | * on estimated cost; footnoted under the table |
| Metric | Value | Metric | Value |
|---|---|---|---|
| Card radius | 10px | Layer accent | 3px left border |
| Section rule | 1px solid line | Outcome glyphs | ✓ green · ✗ red |
| Verdict glyphs | ✅ PASS · ❌ FAIL | Estimate glyph | * amber |
| Output filename | deliverable.md | Optional | deliverable.docx |
Five sections, one order — the whole component a stakeholder reads
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.
| Node | Backend | Model | Outcome | Gate | Cost |
|---|---|---|---|---|---|
| requirements | claude | claude-opus-4-8 | ✓ | — | $0.0642 |
| design | claude | claude-opus-4-8 | ✓ | — | $0.0511 |
| construction | claude | claude-sonnet-4-5 | ✓ | passed | $0.0720* |
* = cost estimated from the public price table (backend reported tokens, not dollars).
Total: $0.1873 across 3 nodes, 1 estimated from the price table.
The exact ## headings render_deliverable emits, in order
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.
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 *.
Gate verdicts, integrity findings across N nodes, human-review decisions — and the line that says every claim is checksummed, with the cadora report pointer.
The total across all nodes, with the number of price-table estimates called out inline.
Archived-file count (each SHA-256 checksummed) and the honesty contract restated — checksummed, not signed, no claim beyond what the gates verified.
Same archived run · same build_report() · two surfaces, two readers
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.
One verb · Markdown is the core, .docx is an optional extra
| Invocation | Writes | Needs |
|---|---|---|
| cadora deliverable <run> | deliverable.md | nothing — dependency-free core |
| … --docx | deliverable.md · deliverable.docx | pip install 'cadora[deliverable]' |
| … --out <dir> | same files, into <dir> | default <archive-dir>/<run-id>/ |
| Flag | Default | Effect |
|---|---|---|
| --archive-dir | runs | Where the archived run is read from |
| --out | <archive-dir>/<run-id>/ | Output directory for the report file(s) |
| --docx | off | Also 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.
Two surfaces, two desks — don't make the stakeholder recompute hashes
Evidence pack · the verifier
Wants tamper-evidence: every SHA-256 hash re-checked, the signature confirmed — offline, no live Cadora.
Delivery report · the stakeholder
Wants the outcome, the cost, the assurance — in prose. Follows the appendix to the pack only if they want to.
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.
A consulting report, not a sales deck — the archive is the only author
| Do | Not |
|---|---|
| State the recorded outcome — Outcome: ✅ PASS | “Delivered flawlessly” |
| Flag every estimate — $0.0720* · 1 node(s) priced from the public price table | Round an estimate into a hard figure |
| Restate the contract — checksummed, not signed | Imply a cryptographic signature the report doesn't carry |
| Point to the proof — run cadora report … for the evidence pack | Ask the reader to take the numbers on faith |