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.
Use cases traversed
Section titled “Use cases traversed”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.
| Step | Use case | What happens |
|---|---|---|
| 1 | REF::ITM::0002 | An item is viewed |
| 2 | REF::ITM::0007 | Its history is inspected as of a moment |
| 3 | RES::KC::0003 | Inventory 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.
Actors and domains
Section titled “Actors and domains”- 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.
The scenario at domain level
Section titled “The scenario at domain level”Counts are computed, never stored
Section titled “Counts are computed, never stored”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.
Damage is inspected, isolated, and held
Section titled “Damage is inspected, isolated, and held”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.
Honest edges, precise refusals
Section titled “Honest edges, precise refusals”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.
Where the behavior is specified
Section titled “Where the behavior is specified”- 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.
Copyright: © Arda Systems 2025-2026, All rights reserved