What problem does it solve? Medical supply inventory bugs are dangerous: wrong stock math means a crew opens a bag in the field and the medication is missing or expired. This Skill encodes the BMRC Logistics app's data model, stock computation rules, and hard invariants so any code change touching inventory, batches, locations, or Firestore documents stays consistent and safe. ## Core Features & Use Cases - Single sources of truth: Routes all stock counts, status chips, and location display through canonical helpers like computeBagStock(), getItemStatus(), and displayLocation() in app/lib/item-status.ts. - Two stock models plus two pools: Documents bag/lot-tracked vs. box-tracked items, the physical vs. available distinction, and the back-reserve vs. front-shelf split including refillShelf() transfer semantics. - Invariant contract: Enforces twelve tested invariants (INV-1 to INV-12) covering FEFO draws, expiration exclusion, recall quarantine, and location move validation, verified via npm run test:invariants. - Use Case: Before fixing a bug where an expired lot still shows as available, consult this Skill to learn that availableItems (not totalItems) drives readiness decisions and that status precedence is expired > out > low > expiring > ok. ## Quick Start Ask the AI to review a planned change to inventory stock calculation code and confirm it follows the BMRC domain invariants before implementing it.