diff --git a/docs/specs/voice-treatment-entry/spec.md b/docs/specs/voice-treatment-entry/spec.md index 0b83fcd..8c37d76 100644 --- a/docs/specs/voice-treatment-entry/spec.md +++ b/docs/specs/voice-treatment-entry/spec.md @@ -482,6 +482,12 @@ that justified this whole design. - any row carrying an unresolved item or an incomplete prosthesis map. - Unresolved items are shown with what was heard ("دندان شیری — بازشناسی نشد"), so the clinician can see what the system did not understand. +- **The sheet is a contract: confirm fills exactly what it previewed — no more.** Per-detail + conveniences that would top the case up afterwards are suppressed for a voice-created + case; concretely, the dispatch panel's remembered-prosthesis default + (`previewConfirmedCaseIds`). A default that quietly adds a prosthesis type to a tooth the + sheet never mentioned turns the confirmation step into a lie about what it was going to + do, which is the whole reason the step exists. - An item that carries `candidates` renders them as **tappable chips** — the one place the sheet is interactive. Picking one folds the tooth into the result (`withChosenTeeth`) and ticks the teeth row, so an under-specified tooth is one tap from resolved instead of a