Technical Debt — Tracking
Living list of things we know are wrong and haven't fixed yet. Every entry is tracked in Vikunja so it actually gets done; this page is a curated view, not the system of record.
High
| Item |
Vikunja |
Why it matters |
| Some Docker volume backups are empty |
#59 |
A backup you cannot restore is not a backup |
| No off-site copy of backups |
#572 |
Single-disk failure loses everything |
| Quarterly restore drill never executed |
#571 |
We do not know if backups actually work |
jb2b embeddings still 3072-dim — semantic search silently fails |
#491 |
Brain Q&A returns wrong answers for jb2b sources |
geopolitics document_chunks + video_chunks empty |
#492 |
Geopolitics brain unsearchable |
gamine-app restart-loop |
#570 |
Public surface intermittent |
| Container resource limits missing on several services |
(audit) |
One runaway can exhaust RAM |
Medium
| Item |
Vikunja |
Why it matters |
| Meta token blocks Gamine real-data wiring |
#447 → cascades to #446/#448/#449/#428 |
KPI dashboard cannot show real data |
| YouTube transcripts placeholders (1907 nodes) |
#222, #333 |
Brain claims/disagreements tables empty |
| LiteLLM Haiku model ID fix |
#485 |
Falls back to wrong model |
| DeepSeek promo expires 2026-05-31 |
#484 |
Embedding cost will increase |
| Volume backups for Forgejo/Vaultwarden not verified |
#571 |
Critical state at risk |
infra_scanner.py not yet a Paperclip skill |
#567 |
Not visible in /admin/runs |
Forgejo bootstrap token sits on disk at /root/ |
#569 |
Should live in Vaultwarden only |
jb-brain + jb2b not in Forgejo |
#566 |
Production code without VCS |
Low
| Item |
Vikunja |
Why it matters |
docs.joaoluisbrazao.cloud subdomain pending |
#565 |
Subpath fallback works (admin.joaoluisbrazao.cloud/docs/) |
| Docs rebuild on push instead of hourly cron |
#568 |
Hourly cron is acceptable |
| Hostinger malware scanner not installed |
acceptable |
ClamAV container handles it |
| Forgejo Actions not configured |
future |
Manual builds still work |
| No central log aggregation (ELK / Loki) |
future |
docker logs works at current scale |
| Sentry / APM not deployed |
future |
Errors surface in user reports today |
| MeiliSearch across all project docs |
future |
MkDocs per-site search works for now |
Done since this doc was created
(Track here when items move to done — gives ammunition for ratchet conversations.)
- 2026-05-11 — Docs-as-code with MkDocs Material deployed. Phase 1 + 2 of documentation intelligence layer complete.
- 2026-05-11 — Auto-rebuild cron (hourly) + auto-scanner cron (daily) for AUTO-GENERATED sections.
- 2026-05-11 — Documentation card added to Control Center back office.
- 2026-05-11 — Per-app docs added: gamine, jb-brain, rabbithall, jb2b, ghrepos-api.
Adding a new item
- Open a Vikunja task — that is the source of truth
- Add a row here with a one-line description and Vikunja ID
- Pick the right severity:
- High — losing this hurts users or losing data is plausible
- Medium — fixable, slowing us down, not bleeding
- Low — fine for now, will revisit