Phase 2 — Domain Layer
Task: Create domain/models.py with CoffeeBean dataclass (id, name, quantity_kg, unit_cost, low_stock_threshold_kg, updated_at, computed is_low_stock), BrewSchedule dataclass, and BrewStatus enum (pending, in_progress, completed, cancelled).
Effort: 1 minute
Depends on: T-001
Acceptance Criteria: Both dataclasses instantiate with all TSD fields; is_low_stock returns correct boolean.
Phase 2 — Domain Layer
Task: Create
domain/models.pywithCoffeeBeandataclass (id, name, quantity_kg, unit_cost, low_stock_threshold_kg, updated_at, computed is_low_stock),BrewScheduledataclass, andBrewStatusenum (pending, in_progress, completed, cancelled).Effort: 1 minute
Depends on: T-001
Acceptance Criteria: Both dataclasses instantiate with all TSD fields;
is_low_stockreturns correct boolean.