NW-REVIEW
Select the reviewer that owns the artifact class. Give it the actual
repository-relative artifact or actual diff, not copied prose.
Reviews are read-only and adversarial. Every finding cites a file/line,
terminal command or exhibited counterexample. APPROVE requires the artifact
to survive every applicable check; missing or stale evidence is
INDETERMINATE, not approval.
Review durable product/design authority at its owner, acceptance oracles with
the acceptance-designer reviewer, implementation diffs with the crafter
reviewer, charters with the PO reviewer, and platform artifacts with the
platform reviewer. A reviewer may veto but never silently repair the artifact.
Return the verdict, reviewed artifact or diff, findings and the single upstream
owner for each required correction.
Convergence
A review converges only against a CLOSED criterion set. Four rules, all binding.
- Declared before, not chosen during. The dispatcher states the closed set of
criteria in the dispatch, and the reviewer judges those and nothing else. Where an
executable reference model exists, the set is "the surface agrees with the model"
plus the named suites; anything outside it is not review material. A criterion the
reviewer invents mid-review is out of scope, however true it is.
- Blocking is a narrow class. A finding blocks only when it breaks the product or
would let a falsehood be integrated. Everything else is a note, corrected inside the
same slice, and never triggers a re-review.
- Measured stopping rule. When a round finds defects only INSIDE the previous
round's repair, the cycle stops and the work integrates. Each round declares its
gain: how many blocking findings, and where each one originated.
- A repair adds no new prose. Repair is production, so new sentences are new
unverified surface. If a fact is worth stating, it is a test; see
authoring:a-measurable-fact-is-a-test-not-prose in nw-cross-cutting-invariants.
Design-review question set
Structure (algebra) and time (protocol) questions that make a design review
adversarial instead of confirmatory. Finds structural incoherence, never
temporal holes -- a temporal gap needs the model checker (T5), not this list.
Structure (algebra):
- S1 [INSPECTIVE] -- for every finite sum type, list the cases and pair
each with its domain meaning; flag any case with no meaning and any
meaning split across cases.
- S2 [MECHANICAL] -- for every pair of invariants mentioning the same
field, construct a state satisfying the first and check the second,
delegated to a property test; "I couldn't find one" is not evidence.
- S3 [MECHANICAL] -- for every invariant proven under an added
hypothesis, remove the hypothesis and verify a counterexample still
exists; if none exists the hypothesis was decorative, and the
conditional theorem was the signal a type was needed.
- S4 [INSPECTIVE] -- every unreachable arm of a total function must be
made unreachable by the type, never by a comment.
Time (protocol):
- T5 [MECHANICAL] -- declared progress/liveness: show do-nothing;
model-check liveness excludes it; safety-only:
NOT_APPLICABLE.
- T6 [INSPECTIVE] -- name every fairness assumption's real guarantor,
monitor, and violation consequence.
- T7 [JUDGEMENT] -- list every model step and name the real code
mechanism guaranteeing its atomicity; the answer must be a code
reference, never prose. If it cannot be named, the review returns the
QUESTION to the human, not a verdict.
Marking rule (three values, load-bearing): MECHANICAL = a tool answers,
the outcome is a fact -- if the tool was not executed, the review is
INCOMPLETE BY CONSTRUCTION, never approvable. INSPECTIVE = no tool, but the
answer is a fact readable on the artifact. JUDGEMENT = the answer is a
question returned to the human, never a verdict.
1---2name: nw-review-23description: Dispatches an independent reviewer for a durable authority, immutable oracle, candidate diff, charter set, or operational artifact.4---56# NW-REVIEW78Select the reviewer that owns the artifact class. Give it the actual9repository-relative artifact or actual diff, not copied prose.1011Reviews are read-only and adversarial. Every finding cites a file/line,12terminal command or exhibited counterexample. `APPROVE` requires the artifact13to survive every applicable check; missing or stale evidence is14`INDETERMINATE`, not approval.1516Review durable product/design authority at its owner, acceptance oracles with17the acceptance-designer reviewer, implementation diffs with the crafter18reviewer, charters with the PO reviewer, and platform artifacts with the19platform reviewer. A reviewer may veto but never silently repair the artifact.2021Return the verdict, reviewed artifact or diff, findings and the single upstream22owner for each required correction.2324## Convergence2526A review converges only against a CLOSED criterion set. Four rules, all binding.2728- **Declared before, not chosen during.** The dispatcher states the closed set of29 criteria in the dispatch, and the reviewer judges those and nothing else. Where an30 executable reference model exists, the set is "the surface agrees with the model"31 plus the named suites; anything outside it is not review material. A criterion the32 reviewer invents mid-review is out of scope, however true it is.33- **Blocking is a narrow class.** A finding blocks only when it breaks the product or34 would let a falsehood be integrated. Everything else is a note, corrected inside the35 same slice, and never triggers a re-review.36- **Measured stopping rule.** When a round finds defects only INSIDE the previous37 round's repair, the cycle stops and the work integrates. Each round declares its38 gain: how many blocking findings, and where each one originated.39- **A repair adds no new prose.** Repair is production, so new sentences are new40 unverified surface. If a fact is worth stating, it is a test; see41 `authoring:a-measurable-fact-is-a-test-not-prose` in `nw-cross-cutting-invariants`.4243## Design-review question set4445Structure (algebra) and time (protocol) questions that make a design review46adversarial instead of confirmatory. Finds structural incoherence, never47temporal holes -- a temporal gap needs the model checker (T5), not this list.4849**Structure (algebra):**5051- **S1** [INSPECTIVE] -- for every finite sum type, list the cases and pair52 each with its domain meaning; flag any case with no meaning and any53 meaning split across cases.54- **S2** [MECHANICAL] -- for every pair of invariants mentioning the same55 field, construct a state satisfying the first and check the second,56 delegated to a property test; "I couldn't find one" is not evidence.57- **S3** [MECHANICAL] -- for every invariant proven under an added58 hypothesis, remove the hypothesis and verify a counterexample still59 exists; if none exists the hypothesis was decorative, and the60 conditional theorem was the signal a type was needed.61- **S4** [INSPECTIVE] -- every unreachable arm of a total function must be62 made unreachable by the type, never by a comment.6364**Time (protocol):**6566- **T5** [MECHANICAL] -- declared progress/liveness: show do-nothing;67 model-check liveness excludes it; safety-only: `NOT_APPLICABLE`.68- **T6** [INSPECTIVE] -- name every fairness assumption's real guarantor,69 monitor, and violation consequence.70- **T7** [JUDGEMENT] -- list every model step and name the real code71 mechanism guaranteeing its atomicity; the answer must be a code72 reference, never prose. If it cannot be named, the review returns the73 QUESTION to the human, not a verdict.7475**Marking rule (three values, load-bearing):** MECHANICAL = a tool answers,76the outcome is a fact -- if the tool was not executed, the review is77INCOMPLETE BY CONSTRUCTION, never approvable. INSPECTIVE = no tool, but the78answer is a fact readable on the artifact. JUDGEMENT = the answer is a79question returned to the human, never a verdict.