# Spec Delta

## Purpose

Prevent damaged warehouse goods from being issued while preserving their physical counts and disposition history.

## ADDED Requirements

### Requirement: Immediate attributed hold
ADMIN, SUPERVISOR, and TECHNICIAN SHALL report a positive damaged quantity with a nonblank reason against an active part. Case creation, posted quarantine movement, balance change, and audit SHALL be atomic and retry-safe. Physical quantity SHALL remain unchanged. VIEWER SHALL NOT submit holds.

#### Scenario: Technician reports damage
- **WHEN** three available units are reported damaged
- **THEN** three units become unavailable immediately, with the authenticated reporter recorded and no automatic WO created

#### Scenario: Issue competes with hold
- **WHEN** a hold and issue compete for the same available units
- **THEN** only operations that preserve stock invariants commit

### Requirement: Case read model
Authenticated users SHALL read cases with original held quantity, net released quantity, net scrapped quantity, remaining held quantity, reporter, timestamps, and related movements. Warehouse cases SHALL remain distinct from Pilot Plant damage reports.

#### Scenario: Partially disposed case
- **WHEN** some held goods are released and others remain held
- **THEN** the detail reports the remaining quantity and the case stays open

### Requirement: Controlled disposition
ADMIN/SUPERVISOR SHALL release or scrap held quantities with a reason. Release SHALL reduce quarantined only; scrap SHALL reduce physical and quarantined equally. Cumulative dispositions SHALL NOT exceed the case's remaining hold. A case SHALL close only at zero remaining quantity.

#### Scenario: Concurrent disposition
- **WHEN** two decisions attempt to dispose the same remaining units
- **THEN** at most the available held quantity is disposed and excess requests conflict

### Requirement: Mixed disposition compatibility checkpoint
A mixed release/scrap terminal outcome SHALL NOT be silently represented as wholly released or wholly scrapped. Its public representation and any required schema adjustment SHALL be confirmed before enabling mixed disposition. Confirmation SHALL precede dependent implementation.

#### Scenario: Mixed final outcome design
- **WHEN** implementation encounters a case requiring both released and scrapped terminal quantities
- **THEN** the reviewed design explicitly represents both outcomes rather than overloading the existing terminal enum
