- Wire /query/semantic to VectorService.search()
- Wire /query/graph to GraphService.execute_query()
- Remove stub endpoints:
- /stats (returns zeros)
- /ingest/document (shadowed by router)
- /ingest/batch (shadowed by router)
- Remove unused StatsResponse model
- Add TODO.md tracking remaining stubs to implement:
- /ingest/check-updates
- /ingest/status/{document_id}
- /ingest/repo-status/{repository}
- /deduplicate/check
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
TODO
Outstanding work items for Library Desk.
Stub Endpoints to Implement
The following endpoints in src/main.py return stub responses and need real implementations:
Ingestion Status Endpoints
POST /ingest/check-updates
Check which documents need updating based on content hashes. Used by Scheduler to determine what changed since last sync.
Implementation needed:
- Query existing documents by path
- Compare content hashes
- Return list of updates needed
GET /ingest/status/{document_id}
Get processing status for a document.
Implementation needed:
- Status tracking system (Redis or database)
- Track ingestion progress per document
GET /ingest/repo-status/{repository}
Get indexing status for an entire repository.
Implementation needed:
- Repository-level statistics
- Track which documents from a repo are indexed
Deduplication
POST /deduplicate/check
Check for duplicate or highly similar documents using vector similarity and graph analysis.
Implementation needed:
- Get document embedding from Qdrant
- Find similar vectors above threshold
- Check graph relationships
- Return candidates with similarity scores
System Statistics
GET /stats
Get system statistics (wiki pages, neo4j nodes, qdrant vectors).
Implementation needed:
- Query Neo4j for node count
- Query Qdrant for vector count
- Query Wiki.js for page count