Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GmpYHPSLGmXGZMyLpn2Lbe
3.4 KiB
3.4 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-leannextcloud-basic-mcpserver 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 byMILVUS_COLLECTIONS). ped-ai still searches one collection per request. Needs an admin setting for which collections to search, then fan-out and merge —dedupeSourcesinsrc/utils/clinicalRetrieval.jsalready merges and renumbers. Seeclinical-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. - Apply the restored clinical vector-store compose. Written, committed and
validated at
/home/danvics/docker/nextcloud-mcp-server, deliberately NOT applied —up -drecreates the live clinical Milvus. Owner's call when.
Done since this file was written
- Storage stack is under version control (
/home/danvics/docker/ped-ai-storage), secrets verified excluded, with a README recording the misleading project names and the MinIO/separate-etcd requirements. - Both Milvus stores keep objects in MinIO; verified end to end on the basic side (16 objects in the bucket, rows queryable, collection Loaded).
- The operator image is built from source (
Dockerfile.operator), so the driftedcheck.pythat broke image generation can no longer be run by accident.
Worth knowing
- Four repos were rescued from container images today:
nextcloud-basic-mcp,clinical-assist, the deletednextcloud-mcp-servercompose file, and the operator'scheck.pydrift. Prefer building from a repo over a live container. - Two Milvus instances, historically misleading names.
Clinical index =
nextcloud-mcp-server-milvus-1(MinIO-backed, collectionmcp_bge_m3_1024). Nextcloud basic index =ped-ai-storage-basic-milvus-1(dbbasic, collectionbasic_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. - Both Milvus stores now keep objects in MinIO, matching what clinical always
did.
COMMON_STORAGETYPE=localwrote segment files relative to the working directory, so a recreate destroyed them while etcd kept referencing them and the collection hung at Loading forever. S3 semantics also mean either store can be pointed at a managed bucket without touching Milvus — which is what makes a Terraform-managed deployment straightforward. - Milvus object-store credentials live in
milvus-user.yamlin the protected secrets dir, not in the compose, because Milvus has no file-based option for them and the compose should stay reviewable.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com