Can the next session find yesterday's decisions?

Yesterday you agreed that a failed save should preserve the form input. Today a fresh session clears the form. The decision stayed in chat instead of becoming an accessible reference. A sprawling spec can cause a similar problem by burying the useful choices.

The job of a spec is to carry decisions forward. A new session should be able to find what is settled, what remains open, and what evidence completion requires.

Capture confirmed behavior

Describe the goal, expected behavior, exclusions, and acceptance method. If synchronization remains undecided, label it as an open question. A document's apparent completeness should never turn a guess into an instruction.

01

Goal and behavior

Who needs what, and how should the system respond?

02

Boundaries and unknowns

What is excluded, and what still needs a decision?

03

Acceptance

Which actions and results would demonstrate the behavior?

They're just a projection of the decisions made during grilling.

— Matt Pocock
Decisions, specs and ticketsA lifecycle diagram generated by Archify.Decisions, specs and ticketsAgreed decisionsSpecGoals · behavior · exclusions ·acceptanceVertical ticketsKeep in trackerImplementedTemporary materialClean up or archive per policyADRKeep lasting decisions/to-spec/to-ticketsTemporary× Unknowns are not requirementsDo not present unknowns as agreedrequirements.Agreed decisions → ADRLasting
Specs capture decisions, tickets deliver slices, and ADRs preserve rationale.

Connect one working path first

/to-spec gathers settled choices. /to-tickets divides the work into small vertical capabilities. Begin with a narrow implementation that connects input, processing, and output. Establish that the path works before extending it.

This thin working path is often called a tracer bullet, a term that predates Matt. It exposes integration questions early, while there is still little implementation to change.

分层完成后再集成,与先贯通输入、处理、输出的纵向切片对照。 / Compare late integration with a thin path through input, processing and output, then expand it.分层完成后再集成,与先贯通输入、处理、输出的纵向切片对照。 / Compare late integration with a thin path through input, processing and output, then expand it.
Compare late integration with a thin path through input, processing and output, then expand it.

Give working material a retention policy

Matt's practice favors tickets in a tracker, cleaning up specs after use, and retaining durable decisions in ADRs. Teams with audit or collaboration needs should establish their own explicit archiving policy before removing working material.

ArtifactContentsRetention
SpecConfirmed goal, behavior, scope, acceptanceClean up or archive under team policy after implementation
TicketOne working capability, dependencies, evidenceFollow delivery in the tracker
ADRA durable decision and its reasoningRetain and identify superseding decisions

Exercise: choose the first favorites slice

Predict whether separate frontend, API, and storage tickets can each demonstrate a working favorites feature. Then write a ticket for one item, connecting a click to persistent state.

收藏工单的任务、依赖、范围外、失败观察、成功观察与验收证据六栏。 / A favorites ticket has six fields: task, dependencies, exclusions, failure observations, success observations and evidence.收藏工单的任务、依赖、范围外、失败观察、成功观察与验收证据六栏。 / A favorites ticket has six fields: task, dependencies, exclusions, failure observations, success observations and evidence.
A favorites ticket has six fields: task, dependencies, exclusions, failure observations, success observations and evidence.
TRY IT

Make one favorite independently verifiable

  • Task: favorite an item, save it, and retain its state after refresh.
  • Dependencies: an item ID, existing user identity, and an available storage interface.
  • Exclusions: bulk actions, filtering, and cross-device synchronization.
  • Failure observation: a failed save shows an error, avoids false success, and allows retrying.
  • Success observation: after clicking, saving, and refreshing, visible state agrees with storage.
  • Evidence: record a successful operation and a simulated save failure.
Suggested approach

The ticket covers input, processing, and output. If the interface is missing, identify a prerequisite or include the minimal interface in this slice. The result still needs to be demonstrable on its own.

What counts as done?

Deliver an independently verifiable ticket with explicit dependencies, success and failure observations, and an evidence location. Someone should be able to execute it without rereading the chat. Unconfirmed choices remain visible.

Take the ticket into implementation and feedback and produce the actual acceptance results.

Quick reference

01

Specs carry choices

Separate settled decisions from unknowns and specify acceptance.

02

Tickets deliver capabilities

Connect input, processing, and output early.

03

ADRs preserve reasons

Manage durable knowledge separately from working material.

Sources

Independent, unofficial, noncommercial study notes. This site has no affiliation with or endorsement from Matt Pocock. Referenced works belong to their authors; MIT reuse carries separate copyright and license notices.