Accepted adr-019 · 2026-10-08

A Governed Item Is Reviewed on the Face by Its Parts: Each Participant's Remarks Are Bound to a Part and to the Bytes Read, Visible to Every Participant, Revised or Withdrawn Without Being Rewritten, and Handed Whole to Whoever Answers

Context

A SOW's review already exists in specdossierd: revisions of its draft and remarks — a comment or a suggestion — each bound to the digest of the bytes it answers, an `anchor` naming the part, and its author (code/crates/specdossierd/src/store.rs `REMARKS`, `POST /v1/dossiers/<project>/<id>/remarks`, gated by the person's own Authorize decision). ontoref reads it as published: `ontoref form remark-sow`, `form remarks-sow` (ontoref adr-124), and the mode `supervise-sow` watches it. A dossier's rounds carry their own points, which the agreement must disposition (nothing-left-behind).

No face shows it. A person who reads a SOW on the face (adr-016, and the parts, «in brief» and aside of sow-the-faces-know-who-reads-and-prepare-their-acts-2) cannot leave a remark on a section or a contract, nor see what the others left, nor hand all of it to the session that drafted the SOW. The principal asked, 2026-10-08, that governed items be reviewable on the face — participable, open, of transparent consensus: remarks per part (each main section, each contract), per person and time, visible to the other participants, revised and withdrawn by their author, gathered and copied «to tell the AI session: this is the artefact, these are my remarks, correct it or draft a new one».

Measured 2026-10-08: the spine's state.ncl, dimension nothing-left-behind — «a SOW's remarks in specdossierd still carry no disposition» and «nothing gathers it». ADRs and biops are not read by the service (adr-003, adr-014: it reads the level); their review waits for the decision that lets a service read them.

Decision

A GOVERNED ITEM IS REVIEWED ON THE FACE BY ITS PARTS. Where a SOW is shown on a service that acts and knows who reads (an authority; never on a reader, adr-014 and adr-018), each part of its view — each main section and each contract — offers to leave a remark on it: a comment or a suggestion, bound to the part (`anchor`) and to the digest of the bytes the person read, carrying the person's own Authorize decision as the API's remark already does. The face posts to the same action as `POST /v1/dossiers/<project>/<id>/remarks`: one path, two invokers.

THE REVIEW IS OPEN TO ITS PARTICIPANTS. Every remark on an item is shown to whoever reads that item on that service — beside the part it answers, with its author, its time, and whether it is stale (it answered other bytes than those now shown). A stale remark is shown, never dropped.

A REMARK IS NEVER REWRITTEN. Its author may revise it — a new remark that names the one it replaces — or withdraw it — an entry naming it as withdrawn; both are entries of the store and of the service's signed log, and the face shows the remark as it now stands with its history at hand. Nobody but its author revises or withdraws it.

THE REVIEW IS HANDED WHOLE. The face gathers the item's remarks — all of them, or those of one part — as one packet: the item's id, path and digest, then each remark with its part, author, time, kind and whether it is stale; a copy button copies it, for a person to give to the session that drafted the item. The packet is the same the CLI prints (`specdossier review <item> --service <url>`), as `specdossier hand` does for a round: one reading, two faces.

WHAT THIS DOES NOT DECIDE: the disposition of a SOW's remarks before it is signed, and whether its ratification binds the digest of its review — ontoref's, whose format and act of signing they are; how the review reaches a waiting session by itself (a bus, a durable consumer, the session that drafted it) — a later decision, the service writing remarks only to its signed log and an emitter relaying them (principal, 2026-10-08, option b); the review of ADRs and biops, which follows the decision that lets a service read them.

Constraints

Alternatives considered