spec
Spec
Author the thread's spec and every delta document under delta/, end to end, from what the thread settled. You gather the thread's context, draft the spec body and one delta document for each document entry still in force, audit the draft against what the thread actually settled, write the files, and append one event line to the thread's log. On a thread whose spec.md already exists you run the amendment pass instead of authoring. You work straight from what the thread settled, without interviewing the user element by element. Writing the files and the log line is where you stop — do not stage, commit, or push.
A spec a downstream reader with no prior context can work from is one that says what the outcome is, what is in and out of scope, what binds it, what the change adds, replaces and removes, what the implementer must satisfy, what is deliberately left free, and what the authoring settled on its own — with every project-layer document the change lands carried by a delta document and cited rather than restated.
Inputs
Gather all of these before drafting; everything below works from what you gather here.
- The project's
AGENTS.md, when the file exists — the project's standing guidance for agents working in it. docs/glossary.md, when the file exists — the project's fixed terms, to be used in everything you write.docs/adr/anddocs/pdr/, read via/consult-decisions— the project decisions bearing on the thread's subject.- The roadmap entry named by the seed frontmatter's
roadmapmapping, when the seed carries one — the entry this thread answers: its sketch, its scope boundary and its planned behavior, found as the heading whose text isroadmap.entryin the index atroadmap.path. - The discussion that settled the design — the primary input, in one of two accepted forms. When the same session ran the discussion, that live conversation is the form, and you author from it. Otherwise the form is the thread's
log.md, the thread's memory, which is complete enough to author from; read it in full. - The thread's
seed.md— why the thread exists. - The thread's
spec.md, when the file exists — the spec as it stands, which the run amends rather than authors anew. - The thread's
delta/, when present — the thread's delta of the project layer as it stands, which inside the thread takes precedence over the project records. - The target file of each
editanddeletedelta document, when the run drafts or amends one, read at drafting time — the exact text eachold_stringquotes.