Add priority queue to ai-service and STATUS.md workflow
- Introduce async priority queue service in ai-service; all /chat calls now route through it - Refactor chat router to separate execute_chat (core logic) from the HTTP handler - Add /queue endpoints (status, pause, resume, cancel) for queue management - Update ai-service config to use Pydantic v2 model_config style - Add STATUS.md files for backend, ai-service, doc-service, and frontend - Document STATUS.md workflow in CLAUDE.md - Update doc-service documents router and schemas; frontend DocumentsPage and API client Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,3 +56,41 @@ Added `features/doc-service` — a FastAPI microservice that accepts PDF uploads
|
||||
## Files Deleted
|
||||
|
||||
- `frontend/src/pages/SettingsPage.tsx` — stub replaced by per-app settings pages
|
||||
|
||||
---
|
||||
|
||||
# 2026-04-14 — Server-side pagination and filter bar
|
||||
|
||||
**Timestamp:** 2026-04-14T12:00:00+00:00
|
||||
|
||||
## Summary
|
||||
|
||||
Added server-side pagination and a filter bar to the Documents feature.
|
||||
|
||||
## Files Added / Modified / Deleted
|
||||
|
||||
- **Modified** `features/doc-service/app/schemas/document.py` — Added `DocumentPage` schema (`items`, `total`, `page`, `pages`)
|
||||
- **Modified** `features/doc-service/app/routers/documents.py` — `GET /documents` now accepts `page`, `per_page`, `sort`, `order`, `status`, `document_type`, `search` query params; returns `DocumentPage`
|
||||
- **Modified** `frontend/src/api/client.ts` — `listDocuments` accepts `DocumentListParams`; added `DocumentPage` and `DocumentListParams` interfaces
|
||||
- **Modified** `frontend/src/pages/DocumentsPage.tsx` — Added `FilterBar` (search, status, type, sort, order) and `Pagination` controls; query key includes params for cache isolation
|
||||
|
||||
---
|
||||
|
||||
# 2026-04-14 — AI Service priority queue + model config update
|
||||
|
||||
**Timestamp:** 2026-04-14T15:00:00+00:00
|
||||
|
||||
## Summary
|
||||
|
||||
Added a priority queue system to ai-service with start/pause/resume/stop controls. Updated LM Studio model to gemma-4-e4b-it.
|
||||
|
||||
## Files Added / Modified / Deleted
|
||||
|
||||
- **Created** `features/ai-service/app/services/queue.py` — in-memory `asyncio.PriorityQueue` with HIGH/NORMAL/LOW priorities, FIFO within same level, single async worker with pause/resume/stop
|
||||
- **Created** `features/ai-service/app/schemas/queue.py` — `QueueRequest`, `JobStatus`, `QueueStatus` Pydantic models
|
||||
- **Created** `features/ai-service/app/routers/queue.py` — `POST /queue/jobs`, `GET /queue/jobs/{id}`, `DELETE /queue/jobs/{id}`, `GET /queue/status`, `POST /queue/pause|resume|start|stop`
|
||||
- **Modified** `features/ai-service/app/routers/chat.py` — extracted `execute_chat()` (called by queue worker); `POST /chat` now submits to queue at NORMAL priority and awaits result
|
||||
- **Modified** `features/ai-service/app/main.py` — start/stop queue worker in lifespan; mount queue router
|
||||
- **Modified** `features/ai-service/app/services/config_reader.py` — default model updated to `gemma-4-e4b-it`
|
||||
- **Modified** `features/ai-service/pyproject.toml` — `httpx` moved to runtime deps
|
||||
- **Modified** `features/ai-service/.env` — model updated to `gemma-4-e4b-it`
|
||||
|
||||
Reference in New Issue
Block a user