Skip to content

spec

A spec — a design document describing work to be done. Specs are markdown files with YAML frontmatter in docs/specs/. State is derived from location: docs/specs/ = active, docs/specs/done/ = done.

MetadataValue
Pluralspecs
Subtitle fieldstate
Alsotask · file
FieldType
problemtext
successCriteriatext
RelationTarget
dependsOnspec[]
supersedesspec[]

From task · file:

FieldType
encodingstring
filenamestring
formatstring
kindstring
labelsstring[]
lineCountinteger
mimeTypestring
pathstring
priorityinteger
remoteIdstring
shastring
sizeinteger
startedAtdatetime
statestring
targetDatedatetime
RelationTarget
assignedToperson
attachedTomessage
blockedBytask[]
blockstask[]
childrentask[]
parenttask
projectproject
repositoryrepository

External standards this shape draws from or aligns with. See Shape design principles for how prior art informs shape design.

  • IETF RFC process — Canonical “design doc with problem statement and success criteria” lineage. Our problem/successCriteria mirror the RFC structure.
  • Architectural Decision Records (ADR / MADR) — Modern in-repo equivalent. supersedes[] matches ADR’s “Supersedes” link; dependsOn[] has no direct ADR peer.
  • Python PEP (spec-as-markdown) — PEP states problem, rationale, spec, rejected alternatives. Our fields are a slim version of the PEP template.