5eb3ad17b5
CI / Architecture Guardrails (push) Failing after 51s
CI / Assistant Split Regression (push) Successful in 3m40s
CI / Typecheck (push) Successful in 4m35s
CI / Lint (push) Successful in 4m31s
CI / Build (push) Has been skipped
CI / E2E Tests (push) Has been skipped
CI / Fresh-Linux Docker Deploy (push) Has been skipped
CI / Unit Tests (push) Failing after 6m20s
CI / Release Images (push) Has been skipped
Unit Tests fix: when REDIS_URL is set but Redis briefly drops, the rate limiter switches to a degraded in-memory backend with max/10 limits and accumulates state across test files, breaking ~120 api router tests with "Rate limit exceeded". Setting RATE_LIMIT_BACKEND=memory pins the limiter to the full-capacity memory backend for unit tests (which don't need distributed counters anyway). Build fix: next build collects page data for /api/auth routes, which validates AUTH_SECRET at boot. CI_AUTH_SECRET comes from a Gitea secret that isn't configured, so it was empty and builds aborted. Use a placeholder string ≥32 chars inline — the real secret is only required in deploy workflows, not here.