Design specification for Cadora's AI-DLC method pack: the color and type tokens, the anatomy of a phase-lane DAG node, the component inventory (phase lane, DAG node, rules tree, review-gate card, six-state audit checklist, two-pack comparison), the node and stage states, the phased-topology field grammar, the aidlc versus aidlc-v2 distinction, and the voice.

Cadora · design spec

The AI-DLC method, by its surfaces

Everything needed to render or extend the method pack's screens — the exact tokens, the phase-lane DAG node's anatomy, the component inventory, every node and stage state, the topology field grammar, and the stable-versus-experimental distinction. The rendered components are live HTML; edit them here or lift the specs into Figma.

Palette

Semantic first · green passes a gate, amber asks for review, red blocks


Green--scr-green · #16c784Gate passed · stage done
Red--scr-red · #fb7185Gate blocked · abort
Amber--scr-amber · #ffd08aAwaiting review · experimental
Blue--scr-blue · #6ba5f0Phase · keys · paths
Ink--scr-bg · #0f172aCard ground
Canvas--scr-canvas · #111c2fInset · node body
Panel--scr-panel2 · #162237Phase lane · review card
Line--scr-line · #334158Borders · edges
Text--scr-text · #f5f7fbNode id · command
Muted--scr-muted · #9aa8bcRoles · labels · captions

A phase carries no colour of its own — inception reads blue, construction green, operations muted, but only to key the eye. The semantic colours belong to outcomes: a gate that passed, a review that waits, a run that blocked.

Type & metrics

Monospace is the instrument voice — node ids, phases, and events are read at the shell


RoleFamilySize / weightNotes
Node idmono12px / 600The real id from the topology — requirements, code-generation
Role / phasemono10px / 400Muted; phase eyebrows are uppercase, tracked .11em
Gate chipmono9pxgate: build-test green · review amber
YAML keymonobluephase value amber · gate value green · review value amber
Audit eventmonotextISO timestamp · event · stage; count in N events
State boxmono13px / 700Six glyphs: [x] [-] [?] [R] [S] [ ]
MetricValueMetricValue
Lane radius10pxNode radius8px
Lane padding10px 12pxNode padding7px 11px
Phase dot8px circleSemantic accent1px chip border
State glyphs6 (x - ? R S ␣)Audit taxonomy68 events

Anatomy — a phase-lane node

One node in one phase, with its checkpoint declared


1 2
phase · inception
3designreviewrole · application-design
code-generationgate: build-testrole · code-generation
4
1Phase laneinception / construction / operations, the three .aidlc-rule-details/ directories. Groups nodes; keys the phase dot colour.
2Phase dot — 8px, blue / green / muted. Decorative keying only; never a semantic outcome.
3Checkpoint chipreview (amber, a review: true HITL gate) or gate: build-test (green, a deterministic gate). A node may carry either, both, or neither.
4Edge — a depends_on arrow. The DAG is topo-sorted; a wave of independent nodes can run in parallel, gates stay sequential.

Node states

What a node looks like as the run moves through it


Pending → running → done

phase · inception
requirementsdone · approved
designawaiting review
constructionpending

Gate: passed vs blocked

construction · code-generation ✓ gate build-test PASSED — tests re-run green
construction · code-generation ✗ gate build-test BLOCKED — 2 tests failed

Green (.done) and amber (.wait) share one node component with one token swapped — border and label colour. A blocked gate turns the outcome card red; the deterministic gate re-runs the real build/tests, so a pass is earned, not asserted.

Stage states — the six-box checklist

The glyphs aidlc-state.md uses and aidlc-audit rolls up


[x]
done
stage complete
[-]
in-progress
running now
[?]
awaiting-approval
held for a human
[R]
revising
changes requested
[S]
skipped
conditional, self-skipped
[ ]
not-started
not yet reached

These are the exact box characters aidlc-audit parses (x · - · ? · R · S ·  ) and the labels it prints. The roll-up counts each glyph — done=6  skipped=2  awaiting-approval=1 — sorted so the most-advanced states lead.

Topology grammar

The fields a phased AI-DLC node declares


FieldValuesRole
idrequirements · design · code-generation · build-testNode identity; the edge target in depends_on.
phaseinception · construction · operationsWhich lane. Gates routing (--construction-executor) reads it.
rolerequirements-analysis · application-design · …The AI-DLC stage the node performs.
depends_on[requirements]DAG edges; topo-sorted before the run.
reviewtrueA HITL gate. Activated by --hitl; pauses before downstream work.
gatebuild-testA deterministic gate. Re-runs the real build/tests; non-zero blocks.
- id: design phase: inception role: application-design depends_on: [requirements] review: true

Two packs — aidlc vs aidlc-v2

One stable default, one experimental pinned upstream dist


Dimensionaidlc (stable · default)aidlc-v2 (experimental)
Sourcevendored in cadora/aidlc_rules/, v1.0.0pinned upstream dist, ref v2.1.7, commit-verified
Installrules → CLAUDE.md/AGENTS.md + .aidlc-rule-details/copies dist/claude; writes .cadora-aidlc-v2.json
Provider pinsnone — runs on your funding sourcestripped by default, recorded; --keep-provider-pins opts in
Remote MCPnonefive servers, off unless --keep-mcp
Backendsclaude · codex · kiroclaude only
Read-backrun archive · cadora reportcadora aidlc-audit (state + 68-event trail)

The pin-strip is the protective move. Upstream's shipped .claude/settings.json silently re-points every session at metered AWS Bedrock on opus[1m] / effortLevel: xhigh. Cadora removes model, effortLevel, CLAUDE_CODE_USE_BEDROCK, AWS_REGION by default and records each one — the funding source stays the one you chose. Present v2 as EXPERIMENTAL, always: it is a GA preview with weekly churn.

Component inventory

Every reusable piece these screens are built from


ComponentClassWhere
Phase lane.lane · .plabel · .pdotThe three-phase DAG; one lane per phase
DAG node.hnode / .hnode.done / .hnode.waitA node with role + checkpoint chip
Vertical DAG node.node / .node.on / .node.waitRun view; badges for phase + outcome
Checkpoint chip.gchip.rev · .gchip.gatereview (amber) / gate: build-test (green)
Rules tree.treeWhat aidlc-init lays into the workspace
Review-gate card.callout · .rhead · .flag · .actsThe HITL pause: approve / request / abort
Six-state checklist.nsc / .chkaidlc-state.md glyphs; audit roll-up
State outcome card.vstate / .vstate.noGate passed / blocked
Two-pack columns.col · .tag.stable · .tag.expaidlc vs aidlc-v2

Voice

The method is driven and gated, not claimed


DoNot
Name the phase — construction · code-generation“Step 3”
Show the real node id from a topologyInvent a friendly label
Mark estimates — $0.55 est.Imply a metered charge is exact
Label v2 EXPERIMENTAL; say what was stripped“v2 — the new default”
Distinguish a review gate from a gateBlur human review into the build gate
Tokens and behaviour are taken from cadora/cli.py (the aidlc-init / run / aidlc-audit parsers), cadora/aidlc_v2.py (the guarded installer), and the real examples/aidlc-phased.topology.yaml. Edit the rendered components in place, or hand the palette and metrics tables to a Figma library.