Artefacts and authority
The project documentation set, the truth each document owns, and the links that keep product rules separate from delivery progress.
Every project uses the same documentation architecture. The names are plain; the boundaries are strict. A reader should know where a fact belongs before reading the fact itself.
The documentation set
| Artefact | Owns | Must not own |
|---|---|---|
| Brief | what was learned, with provenance | accepted product rules |
| Product reference | the cross-module product picture | module-local fields or delivery status |
| Module reference | one module's domain and normative requirements | implementation or delivery status |
| Module work register | WBS grouping, order, gates and status | business rules |
| Master delivery plan | cross-module sequence, dependencies and demonstrations | module-local story detail |
| Decision records | expensive-to-reverse technical means | product behaviour |
| Scenarios | end-to-end narratives crossing module boundaries | ownership of the rules they illustrate |
| Tasks | the next executable steps | requirements or durable planning history |
The brief becomes non-normative when accepted rules exist. The product reference then becomes the front door. It points to module references for detail, module work registers for progress, and decision records for technical means.
Product, module, delivery
product reference what the whole product is
└─ module reference what one module means and must do
└─ work register what is planned, active or shippedThe split prevents the most common documentation failure: changing a requirement because a story shipped, or reading a planned story as though it were already a business rule.
Repository shape
Use the repository's existing module boundary. Do not create a second module tree merely for documentation.
docs/
index.html canonical product reference
delivery-plan.md cross-module sequence, gates and demonstrations
scenarios/ end-to-end cross-module narratives
decisions/ architecture decision records
<module>/docs/
index.html module reference and functional requirements
work-register.md WBS epics, requirement links and delivery status
CONTRIBUTING.md repository mechanics and coding conventionsindex.html is the published form used by the reference implementation. A
project may author Markdown or MDX and generate it. The authority role matters;
the source extension does not.
Root and module indexes have stable shapes
The product reference always presents:
- Overview
- Actors
- Domain model
- Modules
- Architecture
- Journeys
- Open questions
- Vocabulary
Each module reference always presents:
- Overview
- Actors
- Domain model
- Open questions or decisions
- Functional requirements
Stable reading order is a developer-experience feature. A developer moving from one project or module to another should not have to rediscover where requirements or unresolved decisions live.
Assign authority once
| Information | Owner |
|---|---|
| Cross-module concepts and ownership | product reference |
| Field-level domain contracts and business rules | module reference |
| Dates, WBS grouping, gates and progress | work registers and delivery plan |
| Structural technical decisions | decision records |
| Behaviour actually obtained | running product and tests |
| Repository mechanics and package rules | CONTRIBUTING.md or agent instructions |
Every other document links to the owner. It does not paraphrase it. A copied enumeration, actor, status or rule is already a second authority.
Installing into an existing repository
- Scan for documents already doing one of these jobs.
- Adopt the existing owner or write a migration proposal; never create a rival.
- Add only missing structure, initially as headings and authority links.
- Make each new document authored immediately; no generator rewrites accepted product rules.
- Run the documentation checks after changing the set.
See Document a project for the complete neutral example, rendered beside its source.