---
id: ADR-COM-CAT-011
title: Dependency Failure Policies by Selling Context
product_area: commerce
module: catalog
revision: 1
status: proposed
design_intent: confirmed
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Required pricing extensions fail closed for checkout work, while display paths can flag unavailable answers;
  unavailable code-part checks refuse claims and automatic unavailable parts are skipped.
constrains:
  - SVC-COM-CAT-pricing
  - SVC-COM-CAT-promotions
  - SVC-COM-CAT-catalog
  - WF-COM-CAT-007
  - WF-COM-CAT-009
  - WF-COM-CAT-010
  - WF-COM-CAT-014
origin: 'COMM-M1 D14 (pricing extension failure), COMM-M1b D-R3 (an application that cannot answer at placement)'
alternatives:
  - option: Continue every sale after dependency failure
    why_not: The sale could bind an amount whose required handler never answered.
  - option: Reject every display after any dependency failure
    why_not: A failed price dependency would remove otherwise useful browsing information.
consequences:
  - Preview and placement reject required extension failures and record operational diagnostics.
  - >-
    Display qualification can fall back to Standard with a warning, and binding qualification receives its
    transaction-time check.
  - Stored unresolved handler references can make checkout unavailable.
supersedes: []
evidence:
  - >-
    services-commerce at c8b66a98: modules/pricing/services/extensions/failure-policy.ts,
    operational-exceptions.ts; services/tax/accounting-tax.ts; modules/promotions/services/areas/registry.ts.
  - >-
    services-commerce at c8b66a98: docs/milestones/COMM-M1-set-up-what-you-sell.md (Decisions);
    docs/milestones/plans/COMM-M1-plan.md.
---

# Dependency Failure Policies by Selling Context

## Context

External assessment can fail while a buyer is browsing or preparing a sale. The implemented response depends on the calculation mode and the failed dependency.

## Decision

Required pricing extensions fail closed for checkout work, while display paths can flag unavailable answers; unavailable code-part checks refuse claims and automatic unavailable parts are skipped.

## Alternatives Considered

Continue every sale after dependency failure. The sale could bind an amount whose required handler never answered.

Reject every display after any dependency failure. A failed price dependency would remove otherwise useful browsing information.

## Consequences

Preview and placement reject required extension failures and record operational diagnostics. Display qualification can fall back to Standard with a warning, and binding qualification receives its transaction-time check. Stored unresolved handler references can make checkout unavailable.
