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
This commit is contained in:
parent
87c3df67ac
commit
18cee14549
1 changed files with 47 additions and 0 deletions
47
TODO.md
Normal file
47
TODO.md
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# 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>
|
||||
Loading…
Reference in a new issue