---
name: Eng + Design Review Decisions
description: Key architecture and design decisions from eng review and design review (2026-04-02), needed for implementation
type: project
---

## Eng Review Decisions (2026-04-02)
1. V1 scope reduced to desktop-core (Windows only). Sync, timeline, fuzzy search, Android deferred to V1.1.
2. PaymentRules snapshotted per month (MonthPaymentRule entity) for month self-containment
3. All monetary values stored as integer cents (int, not double)
4. LuxuryConfig entity removed, eating_out_budget_cents is a column on MonthPlan
5. Outstanding balances manually updated (not auto-adjusted on clone)
6. opening_balance defaults to $0 on new months (NOT carried from previous month)
7. BillDefinition needs is_paid:bool field, default false on clone
8. Freeform CC bill amounts are click-to-editable (overrides computed value, clear to revert)
9. CC shortfall warning banner inline in Core Spend, below bills section
10. CC remainder split evenly among ALL receives_remainder=true cards (not break after first)
11. Cap < min_payment edge case: use min_payment as floor regardless of cap
12. Allow unclaimed CC remainder (no validation that receives_remainder exists)
13. Implementation order: spike inline editing → data model → pure functions → screens

## Design Review Decisions (2026-04-02)
1. Settings navigation: gear icon in top bar (replaces ellipsis menu)
2. First-time experience: guided 4-step wizard (month → paycheck → bills → dashboard)
3. Priority indicators: shapes (green circle, yellow diamond, red square) not just colors
4. Pay period block: subtle 1px green border, same card bg, 6px radius
5. Month grid: filled green (has data), outlined dim (no data), current brighter, "+" sequential
6. Inline edit: green border on active cell, Enter/blur saves, Escape reverts, red border on invalid
7. Remove buttons: 20x20px, dim (#555), red on hover, right-aligned

## Design Tokens
- bg-primary: #1a1a2e, bg-card: #16213e, bg-input: #111
- accent-green: #4ecca3, accent-amber: #e8b86d, accent-red: #e74c3c
- text-primary: #e0e0e0, text-muted: #888, text-dim: #555
- border: #333, divider: #2a2a4a
- body: system-ui 13px, mono: Consolas/SF Mono 13px, balance: mono 28px bold green
- row-height: 34px, card-padding: 12px, gap: 12px, base spacing: 4px

**Why:** These decisions were made through interactive eng and design reviews with the user. They override the original design doc where they conflict.
**How to apply:** When implementing any feature, check this list first. The design doc at ~/.gstack/projects/own-ledger/decid-none-design-20260402-000118.md is the base, these corrections take precedence.
