Skip to content

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.