# CartWise MVP Release Checklist

## Target

Local MVP ready by **September 10, 2026**.

## Scope Guardrail

This checklist applies only to the MVP scope currently defined in `docs/scrum-backlog.md`. Post-MVP work such as barcode scanning, external product providers, and a dedicated shopping mode page should not block MVP completion.

## Product Outcomes

- [ ] User can register and sign in
- [ ] User can create a household
- [ ] User can access only their own household-scoped data
- [ ] User can create or access one active grocery list
- [ ] User can add free-text grocery items
- [ ] User can edit, toggle, skip, or delete grocery items as required by MVP
- [ ] User can manually record a purchase
- [ ] User can view basic price history for purchased items
- [ ] User can see running-low suggestions from purchase history
- [ ] Core list and purchase flows are usable on a phone-sized layout

## Technical Outcomes

- [x] Solution builds locally
- [ ] Tests for implemented business rules pass locally
- [x] SQLite is wired and used for MVP development
- [x] Migrations or schema creation flow are documented and verified
- [ ] Anti-forgery protection is enforced on state-changing requests
- [ ] Household authorization is enforced on every household-scoped workflow
- [ ] Validation messages are shown for key invalid inputs
- [ ] Logging exists for meaningful failures and authorization issues

## Verification Steps

- [ ] Start from a clean local setup
- [ ] Create a new user account
- [ ] Create a household
- [ ] Add several grocery list items
- [ ] Mark at least one item purchased
- [ ] Record a manual purchase with price data
- [ ] Confirm price history appears correctly
- [ ] Confirm running-low logic works with seeded or test purchase history
- [ ] Confirm unauthorized household access is blocked
- [ ] Confirm layout is acceptable on a phone-sized viewport

## Non-Blocking Items For MVP

These may remain unfinished without blocking MVP signoff:

- [ ] Barcode scanning
- [ ] Open Food Facts integration
- [ ] USDA integration
- [ ] Camera scan page
- [ ] Dedicated shopping mode page
- [ ] Hosted deployment
- [ ] Production PostgreSQL setup

## Release Decision

- [ ] MVP accepted for local release and continued post-MVP iteration
