pediatric-ai-scribe-v3/docs
Daniel 259b4858be
Some checks failed
Forgejo Android APK / Root app tests (push) Successful in 47s
Forgejo Docker Build / Root app tests (push) Successful in 46s
Forgejo Android APK / Build signed APK (push) Successful in 2m6s
Forgejo Docker Build / Build Docker image (push) Successful in 19s
Forgejo Docker Build / Deploy to the host (push) Failing after 0s
feat: an image library — every picture this account has made
A figure outlives the deck it was drawn for: the deck gets replaced, the diagram
is still good. Until now a generated image could only be seen in the resource it
was made for, and there was no way to find one again or to delete it.

Library → Images is a grid of every finished image the account owns, across all
three workflows, newest first. GET /api/generated-images is scoped by owner_id
in the statement rather than filtered after, returns only finished jobs — an
unfinished one is a broken frame in a gallery — and pages by keyset, because a
gallery that grows while you scroll repeats or skips rows under OFFSET.

Most of this already existed. Thumbnails were already rendered at 256 and 640 by
sharp and already served by ?w=, with their own checksum so the client's
tamper check passes on a derived copy; hydrateImage already handles auth, the
account boundary and caching. The tiles ask for the 256px preview, so thirty of
them cost a few kB each rather than thirty full-size downloads, and the prompt
is decrypted for the caption because it is the only human-readable label an
image has.

Deleting needed new work. The storage interface had no remove at all, so a
delete that dropped the row would have left the object and both previews in the
bucket — paid for, and still readable by anything with credentials. Storage now
removes all three keys, and the bytes go before the row: a row pointing at a
missing object is a broken image in a gallery, while an object without its row
is only wasted space, and unreachable storage refuses the delete outright rather
than reporting a success that left the picture behind.

THUMB_WIDTHS now has one definition, in generatedImageStorage. Two copies drift,
and the drift that matters is a width that gets written and never deleted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dv6sqaY6Vq3ChZHMem3cnU
2026-09-12 14:36:30 +02:00
..
logic docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
ai-providers.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
api-reference.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
architecture.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
authentication.md docs: accounts in the README, and the sign-in code path is verified end to end 2026-09-11 22:02:25 +02:00
clinical-assistant.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
configuration.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
database.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
deployment.md docs: deploy.sh is the deploy path, and it was documented nowhere 2026-09-12 06:04:13 +02:00
developer-guide.md docs: deploy.sh is the deploy path, and it was documented nowhere 2026-09-12 06:04:13 +02:00
embeddings-setup.md simplify speech and embeddings through litellm 2026-05-09 05:09:02 +02:00
features-explained.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
global-prompt-administration.md fix: reviewer findings — mhchem macro wrapping, regenerate history dedupe, strict safe image allowlist, stale docs 2026-09-08 19:25:31 +02:00
improvements.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
learning-hub.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
migrations.md docs: rewrite architecture, authentication, configuration, deployment, ai-providers, speech, database, learning-hub, migrations, developer-guide for public audience 2026-04-15 00:26:38 +02:00
mobile-build.md ci: route Android APK through Forgejo releases 2026-05-11 04:21:15 +02:00
module-conventions.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
my-resources.md feat: an image library — every picture this account has made 2026-09-12 14:36:30 +02:00
openid-setup.md feat: ED multi-stage UX, extensions polish, docs viewer + application-logic docs 2026-04-28 03:09:38 +02:00
ops-docs-ped-ai-and-milvus.md docs: Ops Docs page on how Ped-AI and the two Milvus servers work 2026-09-10 18:37:41 +02:00
retrieval-tuning.md docs: My Resources, sign-in codes, invitations, and what the image carries 2026-09-11 20:49:10 +02:00
scaling.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
speech.md docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00