Reference · Frontmatter
Spec frontmatter
The per-spec fields, set on spec.md at ratification. Frontmatter is
identity, state, and routing — nothing else; the graph lives only in
relations.md. An agent triages any spec from its first ten lines: who owns it,
what state it's in, how much breaks if it's wrong, and how much autonomy the build was granted.
| Field | Values | When |
|---|---|---|
slug | kebab-case | Always. The spec's identity — matches the folder name; unique across specs/, knowledge/, and archive/. Frozen once ratified: renaming a referenced spec dangles its inbound edges. |
type | feature | bug | chore | parent | Always. A bug is a spec with type: bug; a decomposition parent is type: parent. |
status | draft | ratified | building | blocked | shipped | killed | Always. shipped and killed are set during archiving and exist only in archive/. |
decider | a named human | Always. The PO accountable for this spec. |
blast_radius | low | medium | high | Advised before build (Specline warns if missing). Declared risk surface; drives reviewer depth, implementer effort, and model tier. |
size | small | large | Declared build size (default small). small = one slice; large = an atomic batch. The build axis — distinct from appetite (the review axis). |
target_model | light | standard | frontier | Optional. Pins a capability tier; if absent, derived from blast_radius and the coupling proxy. |
created | date | Always. Spec authoring date; the lead-time clock starts here. |
stale_after | date | Set on entering building or blocked — the staleness / abandonment trigger (B4). |
loop_budget | positive integer | Optional. The PO's autonomy grant — the cap on autonomous build cycles with no green-checkpoint advance. |
acceptance_results | a link | On archived specs only — the structural proxy that graduation ran the acceptance checks (B5). |
▸
These are per-spec, set at ratify. loop_budget lives here, in the spec's frontmatter — it is the PO's autonomy grant for this build, not a repo-wide setting in specline.yml. The build escalates back to a human gate at the first of two triggers: loop_budget exhausted (no progress) or stale_after reached (too much time).
▸
Up: handbook — building. The law: the canon, "Frontmatter".