docs: mark transcript salvage as specified but not built
The backend returns the transcript on VOICE_EXTRACT_FAILED and the client never reads it, so dictation the clinic paid for is shipped in an error body and dropped. The spec claimed the whole feature was implemented; it now names the gap and the two ways out. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
# Voice treatment entry
|
# Voice treatment entry
|
||||||
|
|
||||||
**Status:** Implemented on `feat/voice-treatment-entry`. First live test on 2026-08-21
|
**Status:** Implemented on `feat/voice-treatment-entry`, with one specified piece missing —
|
||||||
sent the tooth path back for revision — a spoken number is now read as its FDI code (§6).
|
the transcript-salvage dialog (§9). First live test on 2026-08-21 sent the tooth path back
|
||||||
|
for revision — a spoken number is now read as its FDI code (§6).
|
||||||
Still blocked on the ASR spike (§11 item 1) before it is trustworthy in front of patients
|
Still blocked on the ASR spike (§11 item 1) before it is trustworthy in front of patients
|
||||||
**Area:** Treatment workspace (CLINIC orgs)
|
**Area:** Treatment workspace (CLINIC orgs)
|
||||||
**Created:** 2026-08-20
|
**Created:** 2026-08-20
|
||||||
@@ -537,7 +538,14 @@ English Nest exception for a user-facing failure.
|
|||||||
| `VOICE_NOT_AVAILABLE` | no profile for locale (v1); plan flag off, once enforced |
|
| `VOICE_NOT_AVAILABLE` | no profile for locale (v1); plan flag off, once enforced |
|
||||||
| `VOICE_RATE_LIMITED` | throttle |
|
| `VOICE_RATE_LIMITED` | throttle |
|
||||||
|
|
||||||
**Transcript salvage:** when ASR succeeded and only extraction failed, the response still
|
**Transcript salvage — specified, NOT built.** The backend half exists: `VOICE_EXTRACT_FAILED`
|
||||||
|
carries `details.transcript` and `HttpExceptionFilter` forwards it. The client half was
|
||||||
|
never written — `onError` only resolves a message through `getUserFacingError`, which never
|
||||||
|
reads `details`, so the transcript is shipped in an error body and dropped. Either build the
|
||||||
|
dialog below or stop returning the transcript; shipping dictation to the client and
|
||||||
|
discarding it is the worst of both.
|
||||||
|
|
||||||
|
When ASR succeeded and only extraction failed, the response still
|
||||||
carries the transcript and the failure dialog offers *"افزودن به یادداشت"*. That action
|
carries the transcript and the failure dialog offers *"افزودن به یادداشت"*. That action
|
||||||
**creates a new detail with only `comment` set to the transcript** — everything else left
|
**creates a new detail with only `comment` set to the transcript** — everything else left
|
||||||
at `newDetail()` defaults. The words were captured and paid for; only the structure was
|
at `newDetail()` defaults. The words were captured and paid for; only the structure was
|
||||||
|
|||||||
Reference in New Issue
Block a user