This module classifies a selected order under one buyer, merchant, purchase policy, history declaration and as-of instant. One buyer keeps one identity across purchases, while each classification observation identifies its order and context. The legacy buyer-level buyerStatus relation keeps its original meaning and is not broadcast to every order by this route.

This is the unofficial 0.1.0 module specification. Source review and executable correctness are separate standings. Full generation, runtime and publication verification are pending configured GitHub CI; this draft supplies no release, native write or client-adoption qualification.

Scope and intended use

This module classifies a selected order under one buyer, merchant, purchase policy, history declaration and as-of instant. One buyer keeps one identity across purchases, while each classification observation identifies its order and context. The legacy buyer-level buyerStatus relation keeps its original meaning and is not broadcast to every order by this route.

Agents can inspect the selected retained evidence, ask for missing scope or review, and keep unresolved answers visible. A successful inspection remains separate from permission to act on a live account.

Competency questions

  1. What does the selected purchase policy and history actually support about this order?
  2. Which earlier eligible purchase supports a returning classification?
  3. Which qualified charged-order amounts contribute to the selected subtotal and coverage?

Namespace

https://ontology.inferal.com/modules/commerce-purchase-classification/

The prefix pc names the existing vocabulary. Term identity and the original RDF types remain stable. Shared advertising and commerce concepts supply scope; captured provider terms retain their provider-specific meaning.

Conceptual model

SourceReported retains a declared offer under its policy. FirstObserved identifies the earliest eligible retained purchase without proving first-ever status. DeclaredCompleteHistory depends on a caller declaration of merchant-inception-to-as-of coverage and stable buyer scope. A real earlier eligible purchase can support Returning in partial retained history. Possible identity matches do not merge buyer histories.

Independent evidence axes
EvidenceWhat the consumer can conclude
Retained sourceThe selected bytes and represented claims remain inspectable.
Scoped interpretationThe named contract supplies a result with its own qualification and coverage.
Current action authorityLive permission, native applicability and client adoption require separately qualified evidence.

Supported eligibility policies are PlacedOnly and PlacedAndCancelled. PreservePurchase retains refunded purchases in newness history; refund-reset policies remain unresolved. Equal first timestamps need a supported tie policy. Captures after as-of are excluded. Repeated assertions of one named order do not multiply purchases, and distinct handles with the same merchant/buyer purchase key remain unresolved. Source and context roles cannot repair each other.

RDF permits incomplete descriptions. A conforming execution profile must enforce its declared closed-world input and output constraints. Unknown or conflicting business evidence must keep its explicit standing and cannot be converted into a favorable value.

Validation and interpretation

Unresolved source scalars remain explicit coverage gaps. Charged-order subtotals are grouped by context, classification basis, status and currency; they supply neither accounting net revenue nor profit. A late capture can revise a later observation while the prior observation remains historical evidence. Cross-package aggregation by context IRI alone cannot qualify currentness or deduplication. Executor support is 128 numeric digits, scale 64 and six nonzero fractional timestamp digits after trailing-zero removal; unsupported bounds do not invalidate provider grammar.

Validation establishes conformance to a selected profile. Retained scope, reported evidence and operational success keep their separate meanings. Runtime and generation evidence for this source repair remain pending GitHub CI.

Worked example and boundary

The example separates selected source orders from policy and history declarations. It illustrates declared context rather than merchant completeness. FirstObserved and source-reported New remain separate, and the classification does not establish advertising acquisition or causal attribution.

Inspect the declared roles and independent standings before using this evidence. Omitted source data or an unresolved qualification must remain visible. This example does not attest a live provider request or complete merchant history.

Term reference

Classes, properties and existing controlled evidence values retain their authored labels and definitions. Listing a controlled value here does not change its RDF type or grant execution authority.

pc:AmbiguousPurchaseKey — ambiguous purchase key
Distinct order handles share a source key in one merchant/buyer scope; this route does not infer a merge.
pc:AmbiguousPurchaseTie — ambiguous purchase tie
Independent qualifying purchases have equal first timestamps without a supported tie policy.
pc:BuyerIdentityUnqualified — buyer identity unqualified
Possible buyer linkage does not qualify stable scoped history.
pc:CaptureNotAvailableAtAsOf — capture not available at as of
The selected record was captured after the declared as-of instant.
pc:ChargedOrderTotal — charged order total
The amount charged for the order, without a net-revenue, refund or profit inference.
pc:ClassificationContext — classification context
A supplied selection of orders and the exact declared policy, identity standing and history scope used for classification.
pc:ClassificationPolicy — classification policy
A declared purchase eligibility, refund treatment and monetary basis. A policy declaration does not assert that a connector implements it.
pc:CompleteDeclared — complete declared
The caller declares complete coverage for the named buyer and merchant; native completeness remains unverified.
pc:ConflictingMonetaryValue — conflicting monetary value
Multiple distinct RDF scalar terms prevent selecting one favorable monetary value or currency.
pc:ConflictingReportedStatus — conflicting reported status
Multiple source-reported statuses remain conflicted instead of selecting favorable revenue.
pc:DeclaredCompleteHistory — declared complete history
First eligible purchase under explicit scoped complete-from-inception history covering the as-of instant.
pc:DeclaredStable — declared stable
The caller declares a stable buyer identity in the selected merchant scope; the pipeline does not verify identity.
pc:Eligible — eligible
The order satisfies the selected lifecycle policy.
pc:Excluded — excluded
This selected purchase is excluded by the explicitly chosen eligibility policy.
pc:ExcludedByEligibilityPolicy — excluded by eligibility policy
The order lifecycle is excluded by the chosen explicit eligibility policy.
pc:FirstObserved — first observed
The first eligible purchase observed in retained data; no first-ever or acquired-by-ad meaning follows.
pc:HistoryContainsUnqualifiedPurchase — history contains unqualified purchase
An unresolved retained purchase prevents the absence of earlier qualifying purchases from establishing newness.
pc:HistoryDeclaration — history declaration
A supplied coverage and time declaration for one merchant and buyer. Declared complete coverage is not attested native history.
pc:HistoryDeclarationUnqualified — HistoryDeclarationUnqualified
The named history declaration is missing, untyped or not bound to the selected buyer and merchant.
pc:HistoryDoesNotCoverAsOf — history does not cover as of
History coverage ends before the selected as-of.
pc:HistoryDoesNotCoverOrigin — history does not cover origin
The declared history starts later than merchant inception and cannot prove first-ever status.
pc:HistoryIncomplete — history incomplete
Partial declared history does not establish a first-ever purchase.
pc:Inferred — inferred
Infer from scoped eligible retained history while preserving the stated coverage and identity bounds.
pc:MerchantInception — merchant inception
The caller declares that history covers merchant inception; an absence of prior orders is otherwise not a first-ever proof.
pc:MonetaryValueUnavailable — monetary value unavailable
No complete scalar amount/currency pair is available.
pc:MonetaryValueUnqualified — monetary value unqualified
A negative, malformed or unsupported monetary value cannot contribute a qualified subtotal.
pc:NetProfit — net profit
A profit basis that this charged-order pipeline does not qualify.
pc:NotEligible — not eligible
This order does not count under the selected explicit purchase eligibility.
pc:ObservedPriorPurchase — observed prior purchase
A prior eligible retained purchase supports returning status without proving that all merchant history is present.
pc:Partial — partial
Only a retained subset of history is declared.
pc:PlacedAndCancelled — placed and cancelled
Placed and cancelled orders count under this explicitly selected policy.
pc:PlacedOnly — placed only
Only placed orders count as qualifying purchase history.
pc:PossibleMatch — possible match
Identity linkage is uncertain and cannot justify shared purchase history.
pc:PreservePurchase — preserve purchase
A refund does not remove the purchase from customer-newness history.
pc:PurchaseAfterAsOf — PurchaseAfterAsOf
The order placement is later than the declared as-of.
pc:PurchaseClassification — purchase classification
An order-scoped assessment under one merchant, buyer, policy, history declaration and as-of instant. A retained observation does not certify provider completeness or advertising acquisition.
pc:PurchaseFieldsUnqualified — purchase fields unqualified
A required source order/time/identity/key field is absent, malformed or has multiple distinct RDF terms.
pc:PurchaseScopeMismatch — purchase scope mismatch
The selected order does not match the context merchant and buyer.
pc:Qualified — qualified
The declared contract supports the selected status or monetary value within this bounded evidence frame.
pc:ReportedStatusUnavailable — reported status unavailable
No single supported source-reported status under the selected source policy is available.
pc:ResetNewness — reset newness
A refund-reset policy that this bounded pipeline does not implement.
pc:ScopedPurchaseEvidence — scoped purchase evidence
Evidence that can carry a merchant or buyer context, including source orders and classification declarations.
pc:SourceReported — source reported
Retain the source-reported classification under the same explicit source policy; this is not complete-history inference.
pc:Standing — standing
A bounded classification, evidence, eligibility, monetary or diagnostic standing; a concept does not grant write permission.
pc:Unassessed — Unassessed
No applicable eligibility or field qualification is established.
pc:Unknown — unknown
The selected purchase status is not qualified; absence of evidence is not zero new-customer purchases.
pc:Unresolved — unresolved
The source/context does not qualify the selected purchase status.
pc:Unspecified — Unspecified
No supported eligibility policy is supplied.
pc:UnsupportedEligibilityPolicy — UnsupportedEligibilityPolicy
The selected lifecycle eligibility policy is unsupported.
pc:UnsupportedMonetaryBasis — unsupported monetary basis
The selected monetary basis is outside the supported charged-order total contract.
pc:UnsupportedRefundPolicy — unsupported refund policy
The selected refund behavior is unsupported; no automatic newness reset is inferred.
pc:amountValue — amount value
A qualified charged-order amount for the selected monetary basis, preserving decimal arithmetic.
pc:asOf — as of
The declared as-of instant limiting available captures; also retained on each assessment.
pc:basis — basis
The evidence basis for the assessed status; SourceReported and FirstObserved do not establish first-ever or advertising acquisition.
pc:buyer — buyer
The declared buyer role in this evidence scope; possible identity matches do not merge buyers.
pc:capturedAt — captured at
When this retained order record was captured. Later captures are unavailable to an earlier declared as-of.
pc:context — context
The exact supplied classification context retained with this assessment.
pc:contextDigest — context digest
SHA256 of the exact retained supplied context bytes.
pc:currency — currency
The qualified currency for the selected charged amount; currencies are grouped separately.
pc:defaultClassificationService — default classification service
The selected versioned classification service for discovery; it does not change older buyer-level meanings.
pc:eligibilityPolicy — eligibility policy
Explicit purchase lifecycle eligibility. The bounded pipeline supports placed orders only or placed plus cancelled orders.
pc:eligibilityStanding — eligibility standing
The eligibility of this purchase under the explicitly selected policy.
pc:history — history
The declared retained history scope; also retained on each assessment.
pc:historyCoverage — history coverage
Caller-declared complete or partial historical coverage, not provider verification.
pc:historyStart — history start
The declared historical start, represented by MerchantInception or an explicit timestamp. A later start cannot justify first-ever classification.
pc:historyThrough — history through
The declared history coverage end; it must cover the selected as-of to support the complete-history basis.
pc:identityStanding — identity standing
Whether the caller declares a stable buyer identity or retains unresolved possible linkage.
pc:interpretationDigest — interpretation digest
SHA256 of the retained semantic interpretation bytes and executable modes, excluding catalog discovery.
pc:merchant — merchant
The named merchant scope. Same order identifier spelling across merchants is not a shared purchase.
pc:mode — mode
Selects source-reported or inferred classification without equating their evidence bases.
pc:monetaryBasis — monetary basis
The selected monetary basis, retained with assessment amounts. ChargedOrderTotal is not net revenue or profit.
pc:monetaryStanding — monetary standing
Whether one nonnegative amount and currency support the selected charged-total subtotal; unresolved amounts are not zero.
pc:order — order
The purchase assessed; the buyer identity remains distinct from this observation.
pc:policy — policy
The exact declared policy used by the selected context; also retained on each assessment.
pc:purchaseKey — purchase key
A source-declared stable purchase key scoped to merchant and buyer. Different order handles with one key are unresolved rather than automatically merged.
pc:reader — reader
An authored reader available through the selected service.
pc:readerName — reader name
The exact reader identifier selected in the generation pipeline.
pc:reason — reason
The exact qualified or unresolved classification reason for this selected purchase.
pc:refundTreatment — refund treatment
Explicit treatment of later refunds. PreservePurchase retains the purchase for newness; reset behavior is unsupported here.
pc:reportedPolicy — reported policy
The explicit source policy under which a reported purchase status is supplied.
pc:reportedStatus — reported status
A source-reported purchase status, independent of inferred first-observed or declared-complete-history classification.
pc:routeStanding — route standing
The explicit legacy or qualified discovery standing of a published query route.
pc:selectedOrder — selected order
An order selected for an assessment, including orders whose source evidence remains unresolved.
pc:sourceDigest — source digest
SHA256 of the exact retained source bytes used for the assessment.
pc:status — status
The assessed purchase status, never broadcast from the legacy Buyer-level buyerStatus relation.