Decision records¶
Why Weirling is built the way it is. Each record states the problem, the options considered and the decision, so a change of course can start from the same facts.
| Record | Decision | Status |
|---|---|---|
| 0001: Celery solo pools | One process per worker, scale by adding workers | Accepted |
| 0002: Provider-agnostic LLM client | Any OpenAI-compatible endpoint; model ids are configuration | Accepted |
| 0003: Safe outbound fetching | Every user URL goes through one SSRF-checked fetcher | Accepted |
| 0004: Embedding model | Keep all-MiniLM-L6-v2 (384-d) until a measured cut-over |
Accepted |
| 0005: Search on Postgres | Full-text search and pgvector, fused; no separate search service | Accepted |
| 0007: Sidecar import | Import from Miniflux or FreshRSS through their reader APIs | Proposed |
New records start from the template.