# MVP-PROD-003 — Modify product

## Story

As an authenticated administrator, I want to edit a product so that future orders use current menu
information without corrupting history.

## Scenarios

### MVP-PROD-003-S01 — Future orders use updated data

- **Given** an existing product
- **When** its supported fields are changed
- **Then** later additions/finalizations use the updated product data
- **Evidence:** E2E plus API/database integration.

### MVP-PROD-003-S02 — Existing snapshots do not change

- **Given** a finalized order containing the product
- **When** the product is renamed, relabeled, repriced, or assigned another VAT percentage
- **Then** that finalized item's identity and stored snapshots remain unchanged
- **Evidence:** database integration, with observable coverage through a later history surface only
  when such a surface exists.

## Invariants and exclusions

Catalog changes never rewrite finalized orders. Racing an edit against an open cart is best effort
and needs no elaborate MVP contract.

## Implementation tasks

[MVP-TASK-004](../tasks/MVP-TASK-004.md) and [MVP-TASK-023](../tasks/MVP-TASK-023.md).
