docs: cut the comments that were not earning their place

I wrote 731 comment lines on this branch against 4,530 lines of code — 14%,
where the rest of the repo runs at 1.8%. CLAUDE.md asks for code that reads
like its surroundings, and this did not.

Removed by genre rather than by taste:

- restating the code, e.g. "JS getUTCDay() numbering: Sunday = 0" above the
  map that literally shows it, and a docblock on startOfWeek explaining that
  it returns the start of the week;
- narrating history — "this used to rebuild the whole map", "left the bar
  recording forever" — which the commit message and git blame already carry;
- saying the same thing in several places: the "cannot record is not a
  denied microphone" reason appeared three times in one file, and the
  "aborting stops a per-minute metered call" reason across three files. Each
  now lives once, where the behaviour it explains lives;
- defending decisions nobody would question, like why toLatinDigits is its
  own module;
- over-explaining defensive branches, three separate comments to distinguish
  null from missing-kind from unrecognised-kind.

What stays is what the code cannot say: the patient-right convention in
toFdi, whose failure mode is a valid code for the wrong tooth; the
"this"-vs-"next" week anchoring; StrictMode re-arming mountedRef; Safari
accepting no mimeType hint; and the invariants whose violation already cost
a bug — the body parser's middleware ordering and the dispatch panel's
auto-fill rules.

Comments only. The diff contains no non-comment line.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-21 23:46:56 +08:00
parent 562ef2ae6e
commit dc10d8dbe3
26 changed files with 155 additions and 306 deletions

View File

@@ -38,9 +38,8 @@ interface VoiceReviewSheetProps {
/**
* Confirmation step between the model's output and the form.
*
* Modal on desktop, bottom sheet on mobile via ResponsiveDialog — deliberately an overlay
* and not a route, because navigating would unmount TreatmentWorkspace and destroy the
* in-progress draft.
* Modal on desktop, bottom sheet on mobile — an overlay and not a route, because navigating
* would unmount TreatmentWorkspace and destroy the in-progress draft.
*/
export function VoiceReviewSheet({
result,
@@ -78,10 +77,9 @@ export function VoiceReviewSheet({
// The teeth row starts unticked whenever the recording produced no teeth of its own,
// and a picked tooth that is not ticked applies nothing.
teeth: true,
// The picked tooth has no prosthesis type, which makes the map unshippable. Leaving
// the row ticked would apply a map that `assertCompleteToothProsthesisMap` rejects
// at dispatch — the exact failure the never-auto-tick-incomplete rule exists to
// prevent. Only ever unticks: re-ticking is the clinician's call.
// A picked tooth has no prosthesis type, so the map is no longer shippable — leaving the
// row ticked would apply a map dispatch rejects. Only ever unticks; re-ticking is the
// clinician's call.
prosthesis:
prev.prosthesis &&
withChosenTeeth(result, nextChosen).prosthesis?.complete !== false,
@@ -290,9 +288,8 @@ function Row({
}
/**
* A bare `YYYY-MM-DD` is a *civil* date, but `new Date('2025-10-17')` parses it as UTC
* midnight — which renders as the 16th for any viewer west of Greenwich. Build the date
* from its parts so it means the same day everywhere.
* `new Date('2025-10-17')` parses a civil date as UTC midnight, which renders as the 16th
* west of Greenwich. Build it from its parts so it means the same day everywhere.
*/
function civilDateToLocalDate(iso: string): Date {
const [year, month, day] = iso.split('-').map(Number);