- 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>
53 lines
1.4 KiB
Markdown
53 lines
1.4 KiB
Markdown
# 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:**
|
|
1. Query existing documents by path
|
|
2. Compare content hashes
|
|
3. 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:**
|
|
1. Get document embedding from Qdrant
|
|
2. Find similar vectors above threshold
|
|
3. Check graph relationships
|
|
4. 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
|