- stampStyle
- "seal" | "tag" | "tick"
- default "seal"
- What a verified criterion's stamp looks like: a round ink seal, a rotated rectangular Verified tag, or a quiet circled tick drawn on flick. Overrides draw it dashed.
- paper
- "plain" | "ruled" | "grid"
- default "plain"
- The sheet's ground: plain card, ruled lines with a margin rule, or a dot grid.
- accent
- string
- default "var(--accent-bright)"
- Stamps, checks, links and the sign-off seal — any CSS colour.
- steps
- AcceptanceStep[]
- default defaultAcceptanceSteps
- The plan as a document: each step's id, title, summary and criteria (id, text, verdict, evidence { label, source, excerpt, href }, note, override).
- state
- "draft" | "in-progress" | "signed-off"
- default "in-progress"
- Draft makes criteria editable (Enter edits), in progress shows verdicts as they arrive, signed off locks the sheet under a seal.
- title
- string
- default "Weekly basin report, automated"
- The document's title; also its accessible name.
- author
- string
- default "Basinworks agent"
- Who wrote the plan, shown above the title on wider containers.
- revision
- string
- default "Rev 3"
- The revision shown beside the author.
- signedOff
- { by: string; at: string }
- default { by: "Rae Okafor", at: "Fri 17 Oct, 14:32" }
- Who signed it off and when, shown once the state is signed-off.
- onEditCriterion
- (id: string, text: string) => void
- default —
- A criterion's text was edited in draft.
- onOverride
- (id: string, verdict: "pass" | "fail", reason: string) => void
- default —
- A person overrode a criterion's verdict with a reason; the sheet shows it at once.
- onOpenEvidence
- (id: string, evidence: AcceptanceEvidence) => void
- default —
- A criterion's evidence was opened, from the keyboard, a click on the criterion or its stamp.
- onSignOff
- () => void
- default —
- Sign off was pressed once every criterion passed.
- status
- "ready" | "loading" | "error"
- default "ready"
- Whether the plan has arrived: loading draws placeholder lines, error offers Try again. An empty steps list says so.
- onRetry
- () => void
- default —
- Try again was pressed after the plan failed to load.
- label
- string
- default the title
- The document's accessible name.
- disabled
- boolean
- default false
- Read only: evidence still opens, but nothing can be edited, overridden or signed.
- className
- string
- default —
- Classes for the outer sheet.