# RESUME — ISS-2026-9166 per-line consignment issue (Phase 1) — ✅ COMPLETE (2026-07-19)

**Status:** 6/6 WPs done + reviewed (APPROVE). Deployed /app (main-KMJW5L64.js). Awaiting owner /fullpush + client test.

## Shipped
Per-line warehouse + consignor on the production material issue: each material row picks its own warehouse (own or consignment) and, for consignment, the specific customer whose أمانة to draw. Consignment line = customer material (off-book, updates customer's consignment ledger, NO WIP); own lines hit WIP as today. OFF-path byte-for-byte.
- WP1 `fa902d4ce` schema (2 nullable cols on inventory_issue_items).
- WP2 `b206daff1` ApproveIssue per-item warehouse (sales GDN byte-for-byte).
- WP3 `a158c5cea` IssueMaterials per-line owner+warehouse routing.
- WP5 `13ade724d` keeper-approve owner-from-item fix (closed the WP3-HIGH).
- WP4 `7554164a6` controller validation + is_consignment guards + consignment availability pre-check (+ `54f0fc82e` variant-scope fix).
- WP6 `1a295b6ca` FE per-row warehouse + consignor pickers.

## ★ Decisions surfaced (client «خد بالتوصية»)
- Homogeneous per line (an overridden line is wholly own OR wholly one customer; untouched lines keep the supply_source auto-split).
- Consignment shortage → hard-block (can't issue more than the customer's consignment on-hand).

## Deferrals
Phase 2 (standalone create-stock-issue → pick production order → issue) — separate ticket. WP6-LOW (no clear-btn on row warehouse picker). WP4-LOW (pre-check is advisory TOCTOU; allocator is the hard guard).

## Next
Owner /fullpush. Client tests on /app. Then close ISS-9166.
