Settle the open questions through the goals and audience

This commit is contained in:
2026-09-28 20:26:20 +02:00
committed by Lillem4n
parent e4d075af6c
commit a84997d2f4
3 changed files with 24 additions and 45 deletions
+10 -5
View File
@@ -801,9 +801,11 @@ App developers writing tests and fixtures, in Go and at a shell:
- a **Go test author**, filling a struct with `FakeStruct`
- a **hand fixture author**, one value at a shell
- a **validator-facing author**, who needs a value a real checker accepts
- a **data author**, who writes categories under `--data-path` and meets every load
error the fences raise
and a **contributor**, who reads [`todo.md`](todo.md), [`AGENTS.md`](AGENTS.md) and
the Development section below, and who ships a register the four above then draw from.
the Development section below, and who ships a register the five above then draw from.
## Goals
@@ -819,14 +821,17 @@ the Development section below, and who ships a register the four above then draw
holding the rest, names that tell the truth, and a file that stands with no second
document open beside it. A simulated reader panel scores those four, the score is a
ratchet no release lowers, and [`AGENTS.md`](AGENTS.md) says what each pull request
owes it.
3. **Valid by construction** — every value passes the check its real consumer
applies; facts that belong together come from one draw, within a value and
across categories.
owes it. Below the floor it holds back new capability, never a repair of a promise
goals 3 to 5 already make, as long as the round that lifts the score stays planned.
3. **Valid by construction** — every value passes the check a current release of
its real consumer applies; facts that belong together come from one draw, within
a value and across categories.
4. **Templates are intuitive, and text means what it says** — a template or a path,
and every path in a template, renders what every writer reading it would expect,
judged by simulated writers from the Audience. A format renders as written; only `{…}` varies, random characters included
(`{digits(3)}`), and a selected row, `[SE]`, is that row wherever it is written.
A name is changed whenever a more intuitive one is found; the Versioning table
prices the change, never blocks it.
Where two writers could expect different outputs, the template is a load error
naming a spelling for each. One spelling per result; the wrong one is a load error
naming the right one.