Card kinds and lifecycle
mdBoard has five card kinds.
| Kind | Meaning | Created by |
|---|---|---|
proposal |
A proposed feature or change for stakeholders | guardian/agent |
defect |
An observed fault | guardian/agent |
research |
A delegation to investigate or answer | guardian/agent |
batch |
Accepted work moving through roadmap and review | accept |
task |
Executable child of an accepted batch | breakdown |
proposal, defect and research are intent kinds. batch and task are system-created.
Intent lifecycle
draft → refine → pitch → accepted
└──────────────→ pitch
A well-formed draft may go directly to pitch. The optional quality gate in #0027 checks
both draft → pitch and refine → pitch; it is a soft gate and the human may force the pitch.
A failed pitch becomes rejected. It can be reopened.
Batch lifecycle
accepted → roadmap → breakdown → doing → handover → completed
One batch may be in breakdown or doing at a time. Several may wait at handover for review.
Task lifecycle
pending → working → done
working → error → pending | canceled
One task may be working at a time.
Creating an intent card
mdboard new --kind proposal "CSV export"
mdboard new --kind defect "Export crashes on empty tables"
mdboard new --kind research "Compare SQLite and Postgres"
mdboard kinds
new --kind batch and new --kind task are rejected. They are not guardian-created.
The agent must not silently choose a kind for an ambiguous request. It asks.
Accepting
mdboard accept '#0042'
Acceptance creates a batch and records the original intent kind:
kind: batch
origin_kind: defect
That preserves defect/research/proposal reporting after acceptance.
No aliases
The CLI uses new --kind. There is no convenience alias such as spark or idea.
The legacy names exist only as deserialization aliases for migration:
idea→proposalspark→draft
New work must use the five kinds and draft.