Skip to content

FLOW-0006 — Inventory Truth on Demand

Most inventory systems store a count — and stored counts drift: a missed transaction here, a double-post there, and by year-end nobody trusts the number. This scenario shows a different contract: counts are computed from the live inventory items at the moment you ask, every condition is queryable as of any past moment, and physical realities like damage are recorded as explicit operations that conserve quantity. The number is always a true reading, and the trail behind it is always there.

This flow is a path across use cases, in order. Identifiers are the immutable prefix form defined in the naming convention; a flow is not a level-4 scenario.

Domains crossed: Resources, Reference Data.

StepUse caseWhat happens
1REF::ITM::0002An item is viewed
2REF::ITM::0007Its history is inspected as of a moment
3RES::KC::0003Inventory items are read for a count

The business value: a count you can act on without a recount, and an audit trail you can defend without a reconstruction.

  • Irene Itemsworth — inventory manager. Asks the questions, inspects the stock, isolates the damage.

The diagram conventions — the domain colors, the dependency ordering, and the arrow meanings — are those of the scenario catalog.

PlantUML diagram

There is no count field to drift. The total, degraded, and usable quantities of an item at a location are derived from the live inventory items as of the moment of the question — a read-only surface with no operations of its own. The exactness comes from reference data: an inventory-tracked item carries a units-of-measure scheme, so every unit converts to a common base and min/max, “full”, and zero checks are precise arithmetic rather than string comparison.

PlantUML diagram

Physical condition is a recorded state, not a note in a margin. An inspection marks the degraded portion — the single driver of the fitness track. A split then isolates the damaged amount into its own inventory item, leaving the original fully usable again — and split conserves quantity by guarantee: the two inventory items together hold exactly what the one did. A lock places the damaged one on administrative hold: it cannot be moved until someone deliberately releases it.

PlantUML diagram

The guarantees carry the scenario’s promise into the corners: consuming an inventory item to zero leaves it empty but alive (running out is never, by itself, the end — only a delete or write-off retires it); trying to remove more than is on hand is refused with a precise reason, never silently clamped; and identity — the catalog item, the license plate, the serial number — never changes for the life of the inventory item, so history always attaches to the right physical thing.

  • Inventory Items — the three-track condition machine, the operations table, the computed counts, and the conservation guarantees. Its Scenarios section walks the seal, revive, and pool-membership cases this page doesn’t repeat.
  • Item — the units-of-measure scheme and the inventory-tracked distinction.