v0.8.0 — Safe-to-Spend Engine
Phase 8 — Safe-to-Spend Engine
Pocketa's core engine is complete. The MVP is production-grade and entering the User Validation Sprint.
Phase 8e — UX Hardening
- Fixed:
rawSafeToSpendnow correctly drives "In reserve mode" / "Fully allocated" visual state - Fixed: Tax rate slider maximum capped at 40% (entity asserts
<= 0.40) - Added: Anxiety buffer validation with explicit SnackBar on invalid input
- Changed: Breakdown deduction rows use
textSecondaryinstead of error red - Added: USD exclusion transparency row in breakdown when
excludedUsdIncome > 0 - Added: Reserve-mode context note in breakdown when
rawSafeToSpend < 0
Phase 8d — Dashboard Safe-to-Spend Hero
SafeToSpendHerowidget replaces raw Total Balance on dashboard- Transparent math breakdown via bottom sheet
- Pending and expected income excluded from Safe-to-Spend correctly
Phase 8c — Settings Screen
StsSettingsScreenwith tax rate slider, anxiety buffer input, fixed costs CRUD
Phase 8b — Calculation Engine
SafeToSpendCalculatoras pure Dart logic (zero Flutter imports)- 26 unit tests covering all edge cases
FixedCostEntry,StsSettings,SafeToSpendResultdomain value objects
Phase 8f — QA and Validation Prep
- Real device QA checklist
- Safe-to-Spend scenario matrix
Full changelog: CHANGELOG.md