You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Container Security:** All services (`backend`, `frontend`, `ingestion-worker`) run as non-root users (`appuser`/`nginx`) to prevent container escape.
5
-
-**Network Security:** Frontend Nginx binds to unprivileged port 8080.
6
-
-**Permissions:** Strict file ownership and read/write permissions for application artifacts and shared volumes.
7
-
8
-
## Ingestion Pipeline Stability
9
-
-**Architecture:** Robust multi-process worker using `pebble`.
10
-
-**Reliability:**
11
-
- Hard timeouts (30 mins) with auto-kill for stuck processes.
12
-
- Resource limits (8 CPUs, 8GB RAM) enforced via Docker.
13
-
- Thread safety enforced via environment variables (`OMP_NUM_THREADS=2`).
- Extracts rich metadata (Author, Created Date, Page Count).
20
-
- Standardized on Docling v2 API.
21
-
22
-
## Code Quality & Testing
23
-
-**Backend Coverage:** High (>90%) for core adapters (`gemini`, `weaviate`) and repositories (`settings`, `source`).
24
-
-**Observability:** Context-aware JSON logging standardized across Backend and Adapters.
25
-
-**Frontend Quality:** Full store and component testing coverage for `jobs`, `stats`, `sources`, and `settings`.
26
-
-**Standards:** STRICT adherence to `technical-constitution` (Dependency Injection, Interface-based design).
27
-
28
-
## Known Limitations
29
-
-**Ingestion Worker Environment:** Local testing requires manual `pip install pebble`.
30
-
-**Progress Reporting:** "Pending" state is a black box. No page-level progress. (Proposal created: `docs/2026-01-04-proposal-worker-realtime-progression.md`)
31
-
-**Search API:** Metadata (Author, CreatedAt, PageCount, Type) is now returned in `SearchResult` struct and populated by Weaviate. Frontend integration pending.
1
+
The codebase state for `qurio` is significantly ahead of the documentation/bug reports (specifically `2026-01-05-bug-inconsistencies-3.md`).
2
+
Verified that:
3
+
1. API Envelopes are implemented.
4
+
2. Background Janitor is implemented.
5
+
3. MCP Context Propagation is correct.
6
+
4. TSConfig redundancy is non-existent.
7
+
5. Source Entity timestamp inconsistency (`updated_at` vs `lastSyncedAt`) is resolved across DB, Backend, and Frontend.
8
+
Future tasks should verify code state before assuming bug reports are accurate.
-**Logging:** Implemented `apps/backend/internal/logger` package with `ContextHandler` to automatically propagate `correlation_id` from context to JSON logs.
2
2
-**Worker Logic:** Link discovery logic extracted to pure function `DiscoverLinks` in `apps/backend/internal/worker/link_discovery.go` to separate I/O from business logic.
3
-
-**MCP Errors:**`qurio_search` now returns standard JSON-RPC errors (code -32603) for internal failures instead of embedded text errors.
3
+
-**MCP Errors:**`qurio_search` now returns standard JSON-RPC errors (code -32603) for internal failures instead of embedded text errors.
4
+
-**Ingestion Worker:** Refactored `handle_file_task` to return `list[dict]` matching `handle_web_task`, removing brittle manual list wrapping.
5
+
-**Data Consistency:**
6
+
- Standardized `Source` entity across stack.
7
+
- Backend `Source` struct now includes `UpdatedAt` field.
mock.ExpectQuery(regexp.QuoteMeta(`SELECT id, type, url, status, max_depth, exclusions, name FROM sources WHERE id = $1 AND deleted_at IS NULL`)).
50
+
mock.ExpectQuery(regexp.QuoteMeta(`SELECT id, type, url, status, max_depth, exclusions, name, updated_at FROM sources WHERE id = $1 AND deleted_at IS NULL`)).
0 commit comments