A.2.3:4.1.2 - Unit-of-delivery counting
Use unitOfDelivery only when a receiving use counts accepted delivery. It is a specification-use episteme carried in the promise content.
An ordinary rule may say: Count one accepted delivery per appointment; rework under the same appointment does not add another unit. When replay or measurement needs a structured representation, use only the fields that rule requires:
UnitOfDeliverySpec : U.Episteme ::= {
unitDesignator: U.NameToken,
countingRule: {
selectorRef: U.EpistemeRef, // selects only delivery Work for which fulfilment obtains
quantityRuleRef: U.EpistemeRef, // maps selected facts to the count or measured quantity
aggregationRef?: U.EpistemeRef,
dedupeKeyRef?: U.EpistemeRef,
countingPolicyRef?: U.EpistemeRef,
measurementMethodRef?: U.MethodRef,
measurementMethodDescriptionRef?: U.EpistemeRef,
evidenceAdmissibilityRef?: U.EpistemeRef
}
}
The selector admits only Work occurrences for which the promise’s delivery and acceptance predicates are satisfied. For a cross-promise aggregate using one Work occurrence, or when rework must not add another delivery unit, dedupeKeyRef or the cited counting policy states the intended boundary. Separate per-promise counts may use the default below. A measurement Method, its description, evidence-admissibility rule, evidence epistemes, and evidence-use relations appear only when the count depends on a measurement reading or relied-on evidence. Pure counting needs none of that apparatus.
If unitOfDelivery is absent, the local default is one unit per obtaining PromiseContentFulfilmentRelation occurrence. A separately governed charging relation may consume the resulting quantity but does not define this counting rule.