Type to search pages and rules.

Browse pages

Reading Tracks

A specification is a tree, and no reader reads the whole tree at once. This page states the order to read in: why before how, one journey from goal to proof, one module from aggregates to proof, and the structural words every record uses. Reviewers and builders read it after Records and the Project Model, before they open their first record.

Markdown

Why Before How#

Read intent before mechanism. Start at the product: the brief, the goals, the problems, the features, the constraints, the decisions, and the requirements. Then read the domain: the modules, the aggregates with their states, transitions, and data, the rules, the use cases with their results, and the scenarios. Each record names what sits above it, which is why it exists, and what sits below it, which is how it is fulfilled.

A reviewer who reads the domain first meets behavior with no reason. A reviewer who reads intent first meets each use case as the answer to a requirement, and each requirement as the answer to a problem or goal.

One Journey End to End#

Follow one journey from its goal to its proof. Read in this order:

  1. The goal the journey serves, and the requirements that fulfill it.
  2. The journey page: its actor, its steps, and what each step produces.
  3. Each step's use case: its goal, what happens, its results, and its scenarios.
  4. The proof: the tests the model links to each scenario.

For example, follow the journey that carries an expense from submission to reimbursement: its steps run through use cases such as Submit expense, each result names how its step ends, and each scenario is proven by a passing test. When every scenario on the journey is proven, the journey holds.

One Module End to End#

Follow one module from its aggregates to its proof. Read in this order:

  1. The module page and its known limits.
  2. Each aggregate: its states with their meanings, its transitions, and its classified data.
  3. The rules that govern the aggregates, and the events they raise.
  4. Each use case with its results and scenarios.
  5. The proof: the tests the model links to each scenario.

For example, the spending module holds the expense aggregate with its states and transitions, the rules that govern it, and use cases such as Submit expense. When every scenario in the module is proven, the module holds.

Structural Words#

Every record uses the same structural words: the record types, the links between them, and the statuses with the fixed sets. The model page states each one; this table states what each word tells a reader.

Records#

WordWhat It Tells the Reader
productWhat is built, for whom, and what it never does.
goalA measurable outcome the product serves.
problemA pain people meet today.
featureWhat is offered, or refused, against a problem.
constraintAn outside rule that binds everything below it.
researchEvidence that informs, never decides.
decisionA settled choice, replaced never edited.
requirementOne functional, quality, or business obligation.
journeyOrdered use cases toward one goal.
termOne glossary word with its meaning.
moduleOne part of the domain.
aggregateOne business object with its states, transitions, and data.
ruleOne invariant, precondition, calculation, or cross-aggregate sentence.
eventOne statement that something completed.
use caseOne command, query, or reaction.
resultOne way a use case ends: success, or refusal with a code.
scenarioOne example in given, when, then that proves a result.
actorOne person, organization, or system that acts.
roleOne set of permissions held at a scope.
permissionOne allowed action.
entry pointOne way readers reach the product.
external systemOne outside system the product talks to.
limitOne bound the product runs inside.
runbookWhat to do when a trigger fires.
deviationOne departure from a provision, with a review date.
known gapOne accepted problem, with an owner and an end date.
WordWhat It Tells the Reader
solvesThe feature answers this problem.
servesThe feature serves this goal.
fulfillsThis record answers the goal, requirement, or use case it names.
basedOnThe evidence or record this one builds on.
decidesThe decision settles this record.
replacesThe decision overturns this earlier decision.
governsThe rule binds this use case.
needsThe use case requires this permission.
reachedThroughReaders reach the use case through this entry point.
raisesThe use case emits this event.
holdsThe actor carries this role at a scope.
allowsThe role grants this permission.

Statuses and Sets#

WordWhat It Tells the Reader
draftThe record waits for its decider.
approvedThe record holds.
retiredA newer record replaced it.
implementedThe builder found code for it.
verifiedPassing tests prove it.
reachableA transition leads into the state.
command, query, reactionThe three use case kinds: change, ask, react.
invariant, precondition, calculation, cross-aggregateThe four rule kinds: always true, checked before, computed, across aggregates.
functional, quality, businessThe three requirement kinds: behavior, measure, terms and dates.
success, refusalThe two result outcomes: it worked, or it ended with a code.
planned, shipped, later, refusedThe four feature states.

Which Track to Take#

A product owner or reviewer takes the journey track: one goal at a time, from intent to proof. A developer or agent takes the module track: one module at a time, from aggregates to proof. Both tracks read why before how, and both end at scenarios, the leaf of the review line.

Next#

How the Tools Fit Together explains when each tool runs on the records these tracks walk through.