Obsidian_vault/30 - Projects/Tia/Tia - Decisions.md
2026-06-07 14:00:01 +00:00

19 lines
1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
type: project-doc
parent: "[[Tia]]"
status: verified
tags: [tia, decisions]
---
# ⚖️ Tia — Key Decisions
> Pulled from the project memory files. Full entries in [[Decision Log]].
1. **Derived usage, never accumulated** ([[Decision Log#TD-001]]) — storage = live SUM; pending excluded.
2. **`tier` is the only plan column** ([[Decision Log#TD-002]]) — payment behind `isPaidFamily()`.
3. **Migrations via hot-apply + `Date.now()` rule** ([[Decision Log#TD-003]]) — after Drizzle silently skipped 00030010.
4. **R2 served through `/api/img` proxy** ([[Decision Log#TD-004]]) — Cloudflare bot-mgmt 503'd cross-origin imgs.
5. **(marketing) vs (app) route groups** ([[Decision Log#TD-005]]) — keep `/` static; dashboard at `/home`.
6. **Downgrade = freeze, not delete** — existing members keep roles; only new invites blocked.
7. **Pre-aggregate analytics with CTEs** — the engagement query was a cartesian blow-up; fixed by per-table CTEs to avoid 500s on real data.
## Related
[[Tia]] · [[Tia - Architecture]] · [[Decision Log]]