pediatric-ai-scribe-v3/TODO.md
Daniel 18cee14549 docs: track the open work in TODO.md
Records what is genuinely outstanding and the non-obvious infrastructure facts
found while fixing it, so the next session does not rediscover them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WjVc5oaAaYFNbZGLeJp6TX
2026-09-10 02:45:07 +02:00

2.8 KiB

TODO

Live state as of 2026-09-10. Everything not listed here is deployed and green.

Open

  • Basic index has no reader. MilvusVectorStore.search() exists now, but no tool calls it. Decide where the query path lives: put pymilvus into the deliberately-lean nextcloud-basic-mcp server image, or expose a query API from the indexer container. Nothing can read that index until this is done. Source: /home/danvics/docker/nextcloud-basic-mcp
  • Multi-collection, ped-ai half. The MCP side is deployed (clinical_semantic_search(collection=…) + clinical_list_collections, allowlisted by MILVUS_COLLECTIONS). ped-ai still searches one collection per request. Needs an admin setting for which collections to search, then fan-out and merge — dedupeSources in src/utils/clinicalRetrieval.js already merges and renumbers. See clinical-assist/COLLECTIONS.md.
  • Confirm mail indexing end to end. Six separate breaks are fixed and the scan now reaches mail, but the file pass has not finished a full cycle since the Milvus rebuild, so no mail has been indexed yet. Watch for [SCAN-*] Mail messages: N seen, M queued.
  • Rebuild the operator image. Its baked-in /opt/storage/check.py has drifted from the host copy: it lacks the s3:ListBucket grant (dropping it broke image generation on 2026-09-09) and still resolves the store as clinical-milvus. The compose mounts the host copy over it as a stopgap; rebuilding makes that mount unnecessary.
  • Apply the restored clinical vector-store compose. Written, committed and validated at /home/danvics/docker/nextcloud-mcp-server, deliberately NOT applied — up -d recreates the live clinical Milvus. Owner's call when.

Worth knowing

  • Four repos were rescued from container images today: nextcloud-basic-mcp, clinical-assist, the deleted nextcloud-mcp-server compose file, and the operator's check.py drift. Prefer building from a repo over a live container.
  • Two Milvus instances, historically misleading names. Clinical index = nextcloud-mcp-server-milvus-1 (MinIO-backed, collection mcp_bge_m3_1024). Nextcloud basic index = ped-ai-storage-basic-milvus-1 (db basic, collection basic_bge_m3_1024_v2).
  • Embedded etcd is unusable with authorization on. Every non-root Milvus user failed etcdserver: invalid auth token. Both stores now run a separate etcd container, matching the profile that always worked.
  • COMMON_STORAGETYPE=local writes objects relative to the working directory. /milvus/files must be a volume or a recreate destroys the segments while etcd keeps referencing them. Fixed for basic; clinical uses MinIO and is unaffected.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com