pediatric-ai-scribe-v3/public/components
Daniel 9d307fd442
Some checks failed
Forgejo Android APK / Root app tests (push) Successful in 50s
Forgejo Docker Build / Root app tests (push) Successful in 1m2s
Forgejo Android APK / Build signed APK (push) Successful in 2m6s
Forgejo Docker Build / Build Docker image (push) Successful in 37s
Forgejo Docker Build / Deploy to the host (push) Failing after 0s
feat: a vision model looks at the rendered deck and fixes the layout
The model that writes a deck never sees it. It cannot tell that slide four
overflowed, that a nine-item list would read better in two columns, or that two
labelled groups want to be a comparison — those are facts about the rendered
page, not about the text. So each generated deck is now rendered to PDF through
Gotenberg, rasterised to one image per slide with pdftoppm, and shown to a
vision model.

Off unless an administrator names a reviewer, in its own admin card because it
is the one setting that spends money on every generation without a user having
asked for anything. One pass, on generation only: a second pass costs as much as
the first and fixes far less, and refining is a text edit.

It returns a patch, not a deck. Asking for the corrected deck back put the reply
in proportion to the deck rather than to the number of problems, and a
fourteen-slide deck came back cut off mid-object at every output budget the
provider would honour — measured twice before changing shape.

The patch is better for a second reason. The reviewer names a slide and an
action — two columns, one column, split after bullet N, compare with these two
labels — and the server moves the text it already has. The words never pass
through the model, so a review cannot reword, drop or invent a single bullet.
That is a stronger guarantee than instructing it not to and checking afterwards.

The check runs anyway, because a bug in applyChanges would be as bad as a model
rewriting the words and worse for being trusted: body text must come out the
same multiset, figures the same set, and a heading may only be reused or
extended. A continuation heading is the reviewer's one piece of text and is
replaced when it does not continue anything.

Nothing here can fail a generation — no reviewer, an unreachable one, an
unparseable reply, a deck too long to look at, or a patch that applies to
nothing each return the deck that was written.

Verified end to end against a deck with a deliberately overloaded slide: three
slides rendered and sent, one change returned, ten bullets split into five and
five under "Stepwise Management … (continued)", text intact. Left switched off;
enable it under Admin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dv6sqaY6Vq3ChZHMem3cnU
2026-09-11 21:38:18 +02:00
..
admin-docs.html feat: ED multi-stage UX, extensions polish, docs viewer + application-logic docs 2026-04-28 03:09:38 +02:00
admin.html feat: a vision model looks at the rendered deck and fixes the layout 2026-09-11 21:38:18 +02:00
assistant.html fix: metrics are not public, and the workspace launcher renders again 2026-09-11 05:18:02 +02:00
bedside.html feat: don't-miss tooltip after notes + bedside suture selector 2026-04-28 03:09:38 +02:00
calculators.html fix(nav): move image lightbox to index.html so NRP + seizure pathways 2026-04-23 18:58:38 +02:00
catchup.html
chart.html
cms.html feat: the Learning screen can ask for grounding, and says what it got 2026-09-11 14:39:49 +02:00
diagrams.html stabilize assistant and add diagrams 2026-05-08 00:23:00 +02:00
dictation.html
ed-encounter.html feat: ED multi-stage UX, extensions polish, docs viewer + application-logic docs 2026-04-28 03:09:38 +02:00
encounter.html
extensions.html feat: add extension import preview 2026-05-08 22:26:53 +02:00
faq.html remove browser whisper transcription 2026-05-08 07:33:12 +02:00
hospital.html
learning.html
my-resources.html feat: a resource can have several illustrations, on its own path 2026-09-11 19:19:22 +02:00
notes.html feat: ED encounters + notes model selector; remove AI corrections; fix notes framing 2026-04-28 03:09:38 +02:00
pe-guide.html feat(pe-guide): Cardiovascular system with APTM auscultation SVG 2026-04-22 20:15:08 +02:00
settings.html fix: correct a false Settings claim; make every test child's stdout pure TAP 2026-09-10 15:41:44 +02:00
sickvisit.html
soap.html
vaxschedule.html
wellvisit.html Match TTS voices to the selected LiteLLM model 2026-07-30 17:34:34 +02:00