No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

7.5KB

CartWise Decision Log

Purpose

This file records product, scope, architecture, and delivery decisions for CartWise so a solo founder + AI workflow does not repeatedly revisit the same unresolved questions.

How To Use

  • Add a new entry when a decision changes backlog scope, technical direction, or release timing
  • Keep entries short and explicit
  • Reference related backlog stories in docs/scrum-backlog.md when helpful
  • Update an existing entry only to add a superseding decision or revisit trigger

Entry Template

### DEC-XXX - Short title
- Date: YYYY-MM-DD
- Status: Proposed | Accepted | Superseded
- Decision: One-sentence summary
- Reason: Why this was chosen
- Impact: What changes in the backlog, implementation, or release plan
- Revisit Trigger: What would cause this to be reconsidered

Decisions

DEC-001 - MVP target and launch window

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Target a local MVP completion by September 10, 2026.
  • Reason: A one-month deadline forces scope discipline and creates a practical solo-founder release target.
  • Impact: Only MVP and P0 backlog work should be treated as launch-critical.
  • Revisit Trigger: The MVP cut changes or the launch target date moves.

DEC-002 - Delivery model

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Use a solo founder + AI delivery model with the founder acting as product owner, reviewer, and primary QA.
  • Reason: AI can accelerate implementation, but final product judgment and local verification remain human responsibilities.
  • Impact: Backlog items must stay small, explicit, and easy to verify locally.
  • Revisit Trigger: Additional human contributors join active development.

DEC-003 - Barcode scanning is out of MVP

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Barcode scanning, camera workflows, and scan-page work are deferred until after MVP.
  • Reason: These features add complexity and are not required for the first launchable grocery-memory workflow.
  • Impact: CW-EPIC-04 barcode and scan stories remain Post-MVP or Deferred.
  • Revisit Trigger: Core MVP is stable and there is time to add scan functionality.

DEC-004 - External product providers are out of MVP

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Open Food Facts, USDA, and other external provider integrations are deferred until after MVP.
  • Reason: Manual and local-only workflows are sufficient for MVP and reduce dependency risk.
  • Impact: Provider-related backlog stories remain Deferred or Post-MVP.
  • Revisit Trigger: MVP is complete and product resolution becomes the next highest-value feature.

DEC-005 - SQLite for MVP development

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Use SQLite for MVP and local development instead of PostgreSQL.
  • Reason: SQLite lowers setup friction and is better suited for a fast local-first development loop.
  • Impact: Foundation stories should wire SQLite first while keeping a future PostgreSQL path possible.
  • Revisit Trigger: Hosted or multi-user production deployment becomes the priority.
  • Implementation Note (2026-08-10, CW-STORY-01.2): CartWiseDbContext lives in CartWise.Infrastructure/Data and is wired to SQLite only through InfrastructureServiceCollectionExtensions.AddInfrastructure, via options.UseSqlite(...) and the ConnectionStrings:DefaultConnection setting in appsettings.json. Moving to PostgreSQL later is expected to mean swapping UseSqlite for UseNpgsql and the connection string in that single extension method — no changes anticipated in CartWise.Domain or CartWise.Application.

DEC-006 - Local-first release strategy

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Build and validate the app locally before any public deployment work.
  • Reason: Local-first release reduces operational complexity during MVP delivery.
  • Impact: Public hosting, infrastructure, and deployment work are not launch blockers for the current MVP.
  • Revisit Trigger: Local MVP is stable and ready for broader testing.

DEC-007 - Shopping mode may be deferred

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: A dedicated shopping mode page is post-MVP unless the standard list page proves insufficient.
  • Reason: A mobile-friendly list can satisfy core purchase flow needs with less implementation overhead.
  • Impact: CW-EPIC-06 is treated as post-MVP for now.
  • Revisit Trigger: MVP list flow cannot support practical in-store use.

DEC-008 - Manual purchase flow is acceptable for MVP

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Manual purchase entry is acceptable for MVP even if list-to-purchase linkage is simplified at first.
  • Reason: Price history and replenishment value can be delivered without sophisticated scan or shopping workflows.
  • Impact: Purchase and price stories stay in MVP while more advanced purchase linkage can evolve later.
  • Revisit Trigger: Manual purchase entry creates too much friction during testing.

DEC-009 - One household per user for MVP

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: A user belongs to exactly one household. CW-STORY-02.2's HouseholdService.CreateHouseholdAsync rejects creating a second household for a user who already has a membership row anywhere; GetCurrentHouseholdAsync resolves “current household” unambiguously from that single membership.
  • Reason: AGENTS.md and the backlog use “current household” language without defining cardinality. One-per-user is the smallest working vertical slice — no household-switcher UI, no “which household” ambiguity anywhere downstream (list, purchases, running-low).
  • Impact: No schema-level uniqueness constraint was added (HouseholdMember's composite PK is (HouseholdId, UserId), which would technically allow multiple rows for the same user), so this is enforced only at the HouseholdService application layer for now. Multi-household support remains possible later without a migration.
  • Revisit Trigger: A real need emerges for one person to participate in more than one household (e.g. managing groceries for two homes).

DEC-010 - Build order reverted to strict epic-numeric sequencing

  • Date: 2026-08-10
  • Status: Accepted
  • Decision: Build remaining epics in strict numeric order (CW-EPIC-04CW-EPIC-05CW-EPIC-06CW-EPIC-07CW-EPIC-08) instead of the MVP-first order the backlog recommended (0507 → MVP-tagged 08 stories, with 04/06 deferred to after MVP).
  • Reason: Explicit founder direction, given after being asked directly whether to keep the MVP-first order or override it.
  • Impact: CW-EPIC-04 (Product Catalog and Barcode Resolution) and CW-EPIC-06 (Shopping Mode) are no longer sequenced after MVP — they will be built next, ahead of CW-EPIC-05/07. DEC-003 (barcode out of MVP), DEC-004 (external providers out of MVP), and DEC-007 (shopping mode may be deferred) remain valid as scope decisions — none of that work becomes MVP-required by this change — but their sequencing guidance is superseded. Individual stories within 04/06 that carry their own explicit Decision Gate (e.g. “confirm whether a product catalog is still needed,” “Open Food Facts integration,” “camera scan flow”) will still be raised with the founder individually as implementation reaches them; this decision only resolves ordering, not each gate's content. Building substantial Post-MVP scope now will likely push completion past the September 10, 2026 MVP target.
  • Revisit Trigger: If schedule pressure toward September 10, 2026 becomes acute, reconsider reverting to MVP-first sequencing for whatever remains.

Powered by TurnKey Linux.