# Phase 3: Batch Lifecycle & Room Management - Implementation Plan

## Goal

Implement the core "Grow" tracking logic: managing Batches through their lifecycle (Clone -> Harvest) and tracking Room environments/capacities, as defined in `specs/batches-and-rooms.md`.

## 🏃 Sprint 1: Schema & Core Logic

**Objective**: specific data modeling for Batches and Rooms.

- **Database**:
  - Update `Batch` to include `BatchStage`, `BatchSource`, `metrcTags`.
  - Update `Room` to include `RoomStatus`, `capacity`, `targetTemp`, `targetHumidity`, `targetVPD`.
  - Create `WeightLog`, `BatchNote`, `BatchPhoto` models.
- **Backend**:
  - Refactor `BatchesController` to support creating batches with sources and initial stages.
  - Add endpoints for `Room` environmental targets.

## 🏃 Sprint 2: Lifecycle Transitions

**Objective**: UI/UX for moving plants through the facility.

- **Frontend**:
  - **Batch Dashboard**: Kanban or List view showing batches by Stage.
  - **Transition Modal**: "Move to Flower", "Move to Room X".
  - **Room Detail**: Show capacity usage vs total capacity.

## 🏃 Sprint 3: Harvest & Yields

**Objective**: Logging results.

- **Frontend**:
  - **Harvest Mode**: Mobile-optimized form for logging Wet Weights.
  - **Timeline**: Visual history of the batch.

## 🏃 Sprint 4: METRC Prep

- **Objective**: Compliance readiness.
- **UI**: Fields for METRC Tag entry (scanning/typing) mapped to Internal Batch IDs.

---

## Technical Dependencies

- `schema.prisma` updates.
- `BatchesController` expansion.
