---
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
---

# Identifier Allocation Ledger

The ledger reserves artifact and row identities before authoring. Retired numbers remain occupied. Commerce actor allocation is shared across the product area; this module starts fresh rather than extending the earlier acceptance corpus.

## Series

| Series | Allocated | Next free |
|---|---|---|
| `MOD-COM-CAT` | the module charter | — |
| `ACT-COM-` | 001 to 007 (product-area wide, `specs/commerce/ACTORS.md`) | 008 |
| `FAS-COM-CAT-` | 01 to 05 (one per feature) | 06 |
| `TST-COM-CAT-` | 001 to 151 | 152 |
| `FEAT-COM-CAT-` | 01 to 05 | 06 |
| `CON-COM-CAT-` | 001 to 006 | 007 |
| `CAP-COM-CAT-` | 001 to 020 | 021 |
| `JNY-COM-CAT-` | 001 to 006 | 007 |
| `ATS-COM-CAT-` | 001 to 020 (one per capability, same number) | 021 |
| `FND-COM-CAT-` | 001 to 077 (051 to 054 controls; 055 to 077 testing back-fill, 2026-10-23) | 078 |
| `OQ-COM-CAT-` | 001 to 008 (006 to 008 design questions, 2026-10-23) | 009 |
| `DOM-COM-CAT-` | 001 to 006 (one per Key Concept, same number) | — |
| `STATE-COM-CAT-` | 001 to 012 | 013 |
| `WF-COM-CAT-` | 001 to 022 | 023 |
| `SVC-COM-CAT-` | `configuration`, `catalog`, `merchandise`, `pricing`, `promotions`, `recommendations` (one per source module) | — |
| `SCR-COM-CAT-` | 001 to 023 | 024 |
| `ADR-COM-CAT-` | 001 to 021 | 022 |
| `IOP-COM-CAT-` | none (the module asks no model) | 001 |
| `RESP-COM` | the Commerce Responsibilities (product-area wide, `specs/commerce/RESPONSIBILITIES.md`) | — |

## Rows Inside Domain Objects

| Artifact | Invariants (`INV-…-NN`) | Next free |
|---|---|---|
| `DOM-COM-CAT-001` | 01 to 10 | 11 |
| `DOM-COM-CAT-002` | 01 to 07 | 08 |
| `DOM-COM-CAT-003` | 01 to 12 | 13 |
| `DOM-COM-CAT-004` | 01 to 12 | 13 |
| `DOM-COM-CAT-005` | 01 to 14 | 15 |
| `DOM-COM-CAT-006` | 01 to 08 | 09 |

## Rows Inside Capabilities

| Artifact | Title | Rules (`BR-…-NN`) | Scenarios and edge cases (`SC-…-NN`) | Next free BR | Next free SC |
|---|---|---|---|---|---|
| `CAP-COM-CAT-001` | Configure reusable sale-processing policies | 01 to 16 | 01 to 04 | 17 | 05 |
| `CAP-COM-CAT-002` | Select the policy governing a sale | 01 to 08 | 01 to 02 | 09 | 03 |
| `CAP-COM-CAT-003` | Configure a store’s offered assortment | 01 to 13 | 01 to 02 | 14 | 03 |
| `CAP-COM-CAT-004` | Calculate tax from buyer geography | 01 to 10 | 01 to 01 | 11 | 02 |
| `CAP-COM-CAT-005` | Organize product shelves | 01 to 10 | 01 to 01 | 11 | 02 |
| `CAP-COM-CAT-006` | Prepare and publish product presentations | 01 to 14 | 01 to 02 | 15 | 03 |
| `CAP-COM-CAT-007` | Manage merchandise selections and sale availability | 01 to 14 | 01 to 03 | 15 | 04 |
| `CAP-COM-CAT-008` | Present the store’s available products | 01 to 10 | 01 to 02 | 11 | 03 |
| `CAP-COM-CAT-009` | Retrieve purchased digital files | 01 to 06 | 01 to 01 | 07 | 02 |
| `CAP-COM-CAT-010` | Configure qualifying price audiences | 01 to 12 | 01 to 02 | 13 | 03 |
| `CAP-COM-CAT-011` | Maintain dated pricing periods | 01 to 11 | 01 to 02 | 12 | 03 |
| `CAP-COM-CAT-012` | Configure product purchasing and price adjustments | 01 to 10 | 01 to 02 | 11 | 03 |
| `CAP-COM-CAT-013` | Calculate and explain a buyer’s item price | 01 to 15 | 01 to 04 | 16 | 05 |
| `CAP-COM-CAT-014` | Prepare and control a promotion’s lifecycle | 01 to 14 | 01 to 03 | 15 | 04 |
| `CAP-COM-CAT-015` | Issue promotion codes with controlled access | 01 to 14 | 01 to 02 | 15 | 03 |
| `CAP-COM-CAT-016` | Choose the best permitted promotional result | 01 to 16 (07 withdrawn in drafting, never reused) | 01 to 04 | 17 | 05 |
| `CAP-COM-CAT-017` | Retain and review promotion usage | 01 to 09 | 01 to 02 | 10 | 03 |
| `CAP-COM-CAT-018` | Preview a promotion against a sample cart | 01 to 06 | 01 to 01 | 07 | 02 |
| `CAP-COM-CAT-019` | Configure recommendation rules and placements | 01 to 11 | 01 to 01 | 12 | 02 |
| `CAP-COM-CAT-020` | Present offers and process buyer responses | 01 to 11 | 01 to 01 | 12 | 02 |

## Rows Inside Journeys

| Artifact | Title | Assertions (`AS-…-NN`) | Next free AS |
|---|---|---|---|
| `JNY-COM-CAT-001` | An administrator prepares a store for selling | 01 to 05 | 06 |
| `JNY-COM-CAT-002` | An administrator configures audience prices and checks a preview | 01 to 05 | 06 |
| `JNY-COM-CAT-003` | A visitor browses the public store offering | 01 to 03 | 04 |
| `JNY-COM-CAT-004` | A coordinator prepares codes and an administrator launches the offer | 01 to 06 | 07 |
| `JNY-COM-CAT-005` | A buyer receives a valid discount and staff account for its use | 01 to 03 | 04 |
| `JNY-COM-CAT-006` | A member accepts a contextual cart suggestion | 01 to 02 | 03 |

## Rows Inside Capability Test Specifications

| Artifact | Scope | Scenarios (`ATS-…-NN`) | Next free |
|---|---|---|---|
| `ATS-COM-CAT-001` | `CAP-COM-CAT-001` | 01 to 17 | 18 |
| `ATS-COM-CAT-002` | `CAP-COM-CAT-002` | 01 to 07 | 08 |
| `ATS-COM-CAT-003` | `CAP-COM-CAT-003` | 01 to 17 | 18 |
| `ATS-COM-CAT-004` | `CAP-COM-CAT-004` | 01 to 08 | 09 |
| `ATS-COM-CAT-005` | `CAP-COM-CAT-005` | 01 to 13 | 14 |
| `ATS-COM-CAT-006` | `CAP-COM-CAT-006` | 01 to 19 | 20 |
| `ATS-COM-CAT-007` | `CAP-COM-CAT-007` | 01 to 12 | 13 |
| `ATS-COM-CAT-008` | `CAP-COM-CAT-008` | 01 to 08 | 09 |
| `ATS-COM-CAT-009` | `CAP-COM-CAT-009` | 01 to 04 | 05 |
| `ATS-COM-CAT-010` | `CAP-COM-CAT-010` | 01 to 13 | 14 |
| `ATS-COM-CAT-011` | `CAP-COM-CAT-011` | 01 to 15 | 16 |
| `ATS-COM-CAT-012` | `CAP-COM-CAT-012` | 01 to 10 | 11 |
| `ATS-COM-CAT-013` | `CAP-COM-CAT-013` | 01 to 20 | 21 |
| `ATS-COM-CAT-014` | `CAP-COM-CAT-014` | 01 to 19 | 20 |
| `ATS-COM-CAT-015` | `CAP-COM-CAT-015` | 01 to 19 | 20 |
| `ATS-COM-CAT-016` | `CAP-COM-CAT-016` | 01 to 14 | 15 |
| `ATS-COM-CAT-017` | `CAP-COM-CAT-017` | 01 to 12 | 13 |
| `ATS-COM-CAT-018` | `CAP-COM-CAT-018` | 01 to 05 | 06 |
| `ATS-COM-CAT-019` | `CAP-COM-CAT-019` | 01 to 10 | 11 |
| `ATS-COM-CAT-020` | `CAP-COM-CAT-020` | 01 to 10 | 11 |

## Rows Inside Feature Acceptance Suites

| Artifact | Scenarios | Next Free |
|---|---|---|
| `FAS-COM-CAT-01` | 01 to 05 | 06 |
| `FAS-COM-CAT-02` | 01 to 05 | 06 |
| `FAS-COM-CAT-03` | 01 to 05 | 06 |
| `FAS-COM-CAT-04` | 01 to 05 | 06 |
| `FAS-COM-CAT-05` | 01 to 05 | 06 |

## Executable Suite Allocation

| Id | Repository | File |
|---|---|---|
| `TST-COM-CAT-001` | react-console | `acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0539.spec.ts` |
| `TST-COM-CAT-002` | react-console | `acceptance/extensibility/playwright/journeys/bindings/EXT-ACC-0208.spec.ts` |
| `TST-COM-CAT-003` | react-console | `acceptance/extensibility/playwright/journeys/cross-application/EXT-ACC-0702.spec.ts` |
| `TST-COM-CAT-004` | react-console | `components/commerce/__tests__/permission-gating.test.tsx` |
| `TST-COM-CAT-005` | react-console | `e2e/mock/commerce-checkout-policies.mock.spec.ts` |
| `TST-COM-CAT-006` | react-console | `e2e/mock/commerce-view-edit.mock.spec.ts` |
| `TST-COM-CAT-007` | react-console | `e2e/mock/merchandise.mock.spec.ts` |
| `TST-COM-CAT-008` | react-console | `e2e/mock/promotions.mock.spec.ts` |
| `TST-COM-CAT-009` | react-console | `lib/commerce/catalog/__tests__/rules.test.ts` |
| `TST-COM-CAT-010` | react-console | `lib/commerce/pricing/__tests__/rules.test.ts` |
| `TST-COM-CAT-011` | services-commerce | `modules/catalog/tests/e2e/catalog-security.e2e.spec.js` |
| `TST-COM-CAT-012` | services-commerce | `modules/catalog/tests/e2e/downloads.e2e.spec.js` |
| `TST-COM-CAT-013` | services-commerce | `modules/catalog/tests/e2e/health.e2e.spec.js` |
| `TST-COM-CAT-014` | services-commerce | `modules/catalog/tests/e2e/product-categories.e2e.spec.js` |
| `TST-COM-CAT-015` | services-commerce | `modules/catalog/tests/e2e/product-listings.e2e.spec.js` |
| `TST-COM-CAT-016` | services-commerce | `modules/catalog/tests/e2e/storefront.e2e.spec.js` |
| `TST-COM-CAT-017` | services-commerce | `modules/catalog/tests/integration/db/catalog-tables.table.integration.spec.js` |
| `TST-COM-CAT-018` | services-commerce | `modules/catalog/tests/integration/services/assets/catalog-assets.integration.spec.js` |
| `TST-COM-CAT-019` | services-commerce | `modules/catalog/tests/integration/services/persistence/product-categories.integration.spec.js` |
| `TST-COM-CAT-020` | services-commerce | `modules/catalog/tests/integration/services/persistence/product-categories.queries.integration.spec.js` |
| `TST-COM-CAT-021` | services-commerce | `modules/catalog/tests/integration/services/persistence/product-listings.integration.spec.js` |
| `TST-COM-CAT-022` | services-commerce | `modules/catalog/tests/integration/services/persistence/product-listings.queries.integration.spec.js` |
| `TST-COM-CAT-023` | services-commerce | `modules/catalog/tests/integration/services/storefront/storefront-listings.integration.spec.js` |
| `TST-COM-CAT-024` | services-commerce | `modules/catalog/tests/integration/services/storefront/storefront-listings.queries.integration.spec.js` |
| `TST-COM-CAT-025` | services-commerce | `modules/catalog/tests/unit/api/product-listing-download-rules.spec.js` |
| `TST-COM-CAT-026` | services-commerce | `modules/catalog/tests/unit/storefront/storefront-availability.spec.js` |
| `TST-COM-CAT-027` | services-commerce | `modules/catalog/tests/unit/storefront/storefront-visibility.spec.js` |
| `TST-COM-CAT-028` | services-commerce | `modules/configuration/tests/e2e/configuration-security.e2e.spec.js` |
| `TST-COM-CAT-029` | services-commerce | `modules/configuration/tests/e2e/health.e2e.spec.js` |
| `TST-COM-CAT-030` | services-commerce | `modules/configuration/tests/e2e/ordering-profiles.e2e.spec.js` |
| `TST-COM-CAT-031` | services-commerce | `modules/configuration/tests/e2e/stores.e2e.spec.js` |
| `TST-COM-CAT-032` | services-commerce | `modules/configuration/tests/e2e/tax-zones.e2e.spec.js` |
| `TST-COM-CAT-033` | services-commerce | `modules/configuration/tests/integration/db/configuration-records.table.integration.spec.js` |
| `TST-COM-CAT-034` | services-commerce | `modules/configuration/tests/integration/db/tax-records.table.integration.spec.js` |
| `TST-COM-CAT-035` | services-commerce | `modules/configuration/tests/integration/services/persistence/ordering-profiles.integration.spec.js` |
| `TST-COM-CAT-036` | services-commerce | `modules/configuration/tests/integration/services/persistence/ordering-profiles.queries.integration.spec.js` |
| `TST-COM-CAT-037` | services-commerce | `modules/configuration/tests/integration/services/persistence/stores.integration.spec.js` |
| `TST-COM-CAT-038` | services-commerce | `modules/configuration/tests/integration/services/persistence/stores.queries.integration.spec.js` |
| `TST-COM-CAT-039` | services-commerce | `modules/configuration/tests/integration/services/persistence/tax-zones.integration.spec.js` |
| `TST-COM-CAT-040` | services-commerce | `modules/configuration/tests/integration/services/persistence/tax-zones.queries.integration.spec.js` |
| `TST-COM-CAT-041` | services-commerce | `modules/configuration/tests/unit/api/blank-ordering-profile-ids.spec.js` |
| `TST-COM-CAT-042` | services-commerce | `modules/configuration/tests/unit/api/blank-tax-zone-values.spec.js` |
| `TST-COM-CAT-043` | services-commerce | `modules/configuration/tests/unit/persistence/ordering-profile-merchant-account.spec.js` |
| `TST-COM-CAT-044` | services-commerce | `modules/merchandise/tests/e2e/merchandise.e2e.spec.js` |
| `TST-COM-CAT-045` | services-commerce | `modules/merchandise/tests/integration/db/accounting-product-functions.integration.spec.js` |
| `TST-COM-CAT-046` | services-commerce | `modules/merchandise/tests/integration/db/merchandise-tables.table.integration.spec.js` |
| `TST-COM-CAT-047` | services-commerce | `modules/merchandise/tests/integration/services/participant/backorder-race.integration.spec.js` |
| `TST-COM-CAT-048` | services-commerce | `modules/merchandise/tests/integration/services/participant/merchandise-participant.integration.spec.js` |
| `TST-COM-CAT-049` | services-commerce | `modules/merchandise/tests/integration/services/persistence/merchandise-extensions.queries.integration.spec.js` |
| `TST-COM-CAT-050` | services-commerce | `modules/merchandise/tests/integration/services/persistence/merchandise-products.queries.integration.spec.js` |
| `TST-COM-CAT-051` | services-commerce | `modules/merchandise/tests/integration/services/persistence/merchandise.integration.spec.js` |
| `TST-COM-CAT-052` | services-commerce | `modules/merchandise/tests/unit/participant/merchandise-availability.spec.js` |
| `TST-COM-CAT-053` | services-commerce | `modules/merchandise/tests/unit/participant/merchandise-payload.spec.js` |
| `TST-COM-CAT-054` | services-commerce | `modules/pricing/tests/e2e/health.e2e.spec.js` |
| `TST-COM-CAT-055` | services-commerce | `modules/pricing/tests/e2e/member-pricing-scenarios.e2e.spec.js` |
| `TST-COM-CAT-056` | services-commerce | `modules/pricing/tests/e2e/price-quote-public-display.e2e.spec.js` |
| `TST-COM-CAT-057` | services-commerce | `modules/pricing/tests/e2e/price-quote-public-sale.e2e.spec.js` |
| `TST-COM-CAT-058` | services-commerce | `modules/pricing/tests/e2e/price-quote-staff-form.e2e.spec.js` |
| `TST-COM-CAT-059` | services-commerce | `modules/pricing/tests/e2e/price-quotes-security.e2e.spec.js` |
| `TST-COM-CAT-060` | services-commerce | `modules/pricing/tests/e2e/price-quotes.e2e.spec.js` |
| `TST-COM-CAT-061` | services-commerce | `modules/pricing/tests/e2e/pricing-audiences.e2e.spec.js` |
| `TST-COM-CAT-062` | services-commerce | `modules/pricing/tests/e2e/pricing-configuration-security.e2e.spec.js` |
| `TST-COM-CAT-063` | services-commerce | `modules/pricing/tests/e2e/pricing-schedules.e2e.spec.js` |
| `TST-COM-CAT-064` | services-commerce | `modules/pricing/tests/e2e/product-extensions.e2e.spec.js` |
| `TST-COM-CAT-065` | services-commerce | `modules/pricing/tests/e2e/product-purchasing-settings.e2e.spec.js` |
| `TST-COM-CAT-066` | services-commerce | `modules/pricing/tests/integration/db/member-pricing-tables.table.integration.spec.js` |
| `TST-COM-CAT-067` | services-commerce | `modules/pricing/tests/integration/db/pricing-records.table.integration.spec.js` |
| `TST-COM-CAT-068` | services-commerce | `modules/pricing/tests/integration/services/extensions/priced-with-extensions.integration.spec.js` |
| `TST-COM-CAT-069` | services-commerce | `modules/pricing/tests/integration/services/handovers/audience-handover-realization.integration.spec.js` |
| `TST-COM-CAT-070` | services-commerce | `modules/pricing/tests/integration/services/inputs/pricing-inputs.integration.spec.js` |
| `TST-COM-CAT-071` | services-commerce | `modules/pricing/tests/integration/services/persistence/catalog-products.queries.integration.spec.js` |
| `TST-COM-CAT-072` | services-commerce | `modules/pricing/tests/integration/services/persistence/exchange-rates.queries.integration.spec.js` |
| `TST-COM-CAT-073` | services-commerce | `modules/pricing/tests/integration/services/persistence/pricing-audiences.integration.spec.js` |
| `TST-COM-CAT-074` | services-commerce | `modules/pricing/tests/integration/services/persistence/pricing-audiences.queries.integration.spec.js` |
| `TST-COM-CAT-075` | services-commerce | `modules/pricing/tests/integration/services/persistence/pricing-schedules.integration.spec.js` |
| `TST-COM-CAT-076` | services-commerce | `modules/pricing/tests/integration/services/persistence/pricing-schedules.queries.integration.spec.js` |
| `TST-COM-CAT-077` | services-commerce | `modules/pricing/tests/integration/services/persistence/product-extensions.integration.spec.js` |
| `TST-COM-CAT-078` | services-commerce | `modules/pricing/tests/integration/services/persistence/product-extensions.queries.integration.spec.js` |
| `TST-COM-CAT-079` | services-commerce | `modules/pricing/tests/integration/services/persistence/product-purchasing-settings.integration.spec.js` |
| `TST-COM-CAT-080` | services-commerce | `modules/pricing/tests/integration/services/persistence/product-purchasing-settings.queries.integration.spec.js` |
| `TST-COM-CAT-081` | services-commerce | `modules/pricing/tests/integration/services/placement/audience-settlement.integration.spec.js` |
| `TST-COM-CAT-082` | services-commerce | `modules/pricing/tests/unit/engine/engine.spec.js` |
| `TST-COM-CAT-083` | services-commerce | `modules/pricing/tests/unit/engine/quote-tolerance.spec.js` |
| `TST-COM-CAT-084` | services-commerce | `modules/pricing/tests/unit/engine/rounding.spec.js` |
| `TST-COM-CAT-085` | services-commerce | `modules/pricing/tests/unit/engine/step-2-audience-resolution.spec.js` |
| `TST-COM-CAT-086` | services-commerce | `modules/pricing/tests/unit/engine/step-3-base-price.spec.js` |
| `TST-COM-CAT-087` | services-commerce | `modules/pricing/tests/unit/extensions/commerce-extensions.spec.js` |
| `TST-COM-CAT-088` | services-commerce | `modules/pricing/tests/unit/tax/zone-table-tax.spec.js` |
| `TST-COM-CAT-089` | services-commerce | `modules/pricing/tests/unit/tax/zone-tax-calculation.spec.js` |
| `TST-COM-CAT-090` | services-commerce | `modules/promotions/tests/e2e/health.e2e.spec.js` |
| `TST-COM-CAT-091` | services-commerce | `modules/promotions/tests/e2e/promotion-code-issuances.e2e.spec.js` |
| `TST-COM-CAT-092` | services-commerce | `modules/promotions/tests/e2e/promotion-codes.e2e.spec.js` |
| `TST-COM-CAT-093` | services-commerce | `modules/promotions/tests/e2e/promotion-previews.e2e.spec.js` |
| `TST-COM-CAT-094` | services-commerce | `modules/promotions/tests/e2e/promotion-redemptions.e2e.spec.js` |
| `TST-COM-CAT-095` | services-commerce | `modules/promotions/tests/e2e/promotions-security.e2e.spec.js` |
| `TST-COM-CAT-096` | services-commerce | `modules/promotions/tests/e2e/promotions.e2e.spec.js` |
| `TST-COM-CAT-097` | services-commerce | `modules/promotions/tests/integration/db/promotion-parts-conversion.integration.spec.js` |
| `TST-COM-CAT-098` | services-commerce | `modules/promotions/tests/integration/db/promotions.table.integration.spec.js` |
| `TST-COM-CAT-099` | services-commerce | `modules/promotions/tests/integration/db/redemptions.table.integration.spec.js` |
| `TST-COM-CAT-100` | services-commerce | `modules/promotions/tests/integration/services/areas/merchandise-provider.integration.spec.js` |
| `TST-COM-CAT-101` | services-commerce | `modules/promotions/tests/integration/services/checkout/checkout-candidates.queries.integration.spec.js` |
| `TST-COM-CAT-102` | services-commerce | `modules/promotions/tests/integration/services/persistence/checkout-promotions.integration.spec.js` |
| `TST-COM-CAT-103` | services-commerce | `modules/promotions/tests/integration/services/persistence/checkout-promotions.queries.integration.spec.js` |
| `TST-COM-CAT-104` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-code-issuances.integration.spec.js` |
| `TST-COM-CAT-105` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-code-issuances.queries.integration.spec.js` |
| `TST-COM-CAT-106` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-codes.integration.spec.js` |
| `TST-COM-CAT-107` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-codes.queries.integration.spec.js` |
| `TST-COM-CAT-108` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-parts.integration.spec.js` |
| `TST-COM-CAT-109` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-parts.queries.integration.spec.js` |
| `TST-COM-CAT-110` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-redemptions.integration.spec.js` |
| `TST-COM-CAT-111` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-redemptions.queries.integration.spec.js` |
| `TST-COM-CAT-112` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotion-statistics.queries.integration.spec.js` |
| `TST-COM-CAT-113` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotions.integration.spec.js` |
| `TST-COM-CAT-114` | services-commerce | `modules/promotions/tests/integration/services/persistence/promotions.queries.integration.spec.js` |
| `TST-COM-CAT-115` | services-commerce | `modules/promotions/tests/integration/services/persistence/redemption-concurrency.integration.spec.js` |
| `TST-COM-CAT-116` | services-commerce | `modules/promotions/tests/integration/services/previews/promotion-previews.integration.spec.js` |
| `TST-COM-CAT-117` | services-commerce | `modules/promotions/tests/unit/areas/area-registry.spec.js` |
| `TST-COM-CAT-118` | services-commerce | `modules/promotions/tests/unit/issuance/code-template.spec.js` |
| `TST-COM-CAT-119` | services-commerce | `modules/promotions/tests/unit/issuance/issuance-job.spec.js` |
| `TST-COM-CAT-120` | services-commerce | `modules/promotions/tests/unit/issuance/issuance-request-csv.spec.js` |
| `TST-COM-CAT-121` | services-commerce | `modules/promotions/tests/unit/pricing/allocation.spec.js` |
| `TST-COM-CAT-122` | services-commerce | `modules/promotions/tests/unit/pricing/alternatives.spec.js` |
| `TST-COM-CAT-123` | services-commerce | `modules/promotions/tests/unit/pricing/apply-promotions.spec.js` |
| `TST-COM-CAT-124` | services-commerce | `modules/promotions/tests/unit/pricing/benefits.spec.js` |
| `TST-COM-CAT-125` | services-commerce | `modules/promotions/tests/unit/pricing/code-charset.spec.js` |
| `TST-COM-CAT-126` | services-commerce | `modules/promotions/tests/unit/pricing/code-normalization.spec.js` |
| `TST-COM-CAT-127` | services-commerce | `modules/promotions/tests/unit/pricing/parts.spec.js` |
| `TST-COM-CAT-128` | services-commerce | `modules/promotions/tests/unit/pricing/promotion-shape.spec.js` |
| `TST-COM-CAT-129` | services-commerce | `modules/promotions/tests/unit/pricing/reason-codes.spec.js` |
| `TST-COM-CAT-130` | services-commerce | `modules/promotions/tests/unit/pricing/shipping-offers.spec.js` |
| `TST-COM-CAT-131` | services-commerce | `modules/promotions/tests/unit/pricing/stacking.spec.js` |
| `TST-COM-CAT-132` | services-commerce | `modules/promotions/tests/unit/pricing/validation.spec.js` |
| `TST-COM-CAT-133` | services-commerce | `modules/promotions/tests/unit/promotions/promotion-parts-rules.spec.js` |
| `TST-COM-CAT-134` | services-commerce | `modules/recommendations/tests/e2e/health.e2e.spec.js` |
| `TST-COM-CAT-135` | services-commerce | `modules/recommendations/tests/e2e/offers.e2e.spec.js` |
| `TST-COM-CAT-136` | services-commerce | `modules/recommendations/tests/e2e/recommendation-rules.e2e.spec.js` |
| `TST-COM-CAT-137` | services-commerce | `modules/recommendations/tests/e2e/recommendations-security.e2e.spec.js` |
| `TST-COM-CAT-138` | services-commerce | `modules/recommendations/tests/integration/db/recommendations-tables.table.integration.spec.js` |
| `TST-COM-CAT-139` | services-commerce | `modules/recommendations/tests/integration/services/persistence/offer-interactions.integration.spec.js` |
| `TST-COM-CAT-140` | services-commerce | `modules/recommendations/tests/integration/services/persistence/offer-interactions.queries.integration.spec.js` |
| `TST-COM-CAT-141` | services-commerce | `modules/recommendations/tests/integration/services/persistence/offer-presentations.integration.spec.js` |
| `TST-COM-CAT-142` | services-commerce | `modules/recommendations/tests/integration/services/persistence/offer-presentations.queries.integration.spec.js` |
| `TST-COM-CAT-143` | services-commerce | `modules/recommendations/tests/integration/services/persistence/recommendation-journeys.integration.spec.js` |
| `TST-COM-CAT-144` | services-commerce | `modules/recommendations/tests/integration/services/persistence/recommendation-journeys.queries.integration.spec.js` |
| `TST-COM-CAT-145` | services-commerce | `modules/recommendations/tests/integration/services/persistence/recommendation-performances.queries.integration.spec.js` |
| `TST-COM-CAT-146` | services-commerce | `modules/recommendations/tests/integration/services/persistence/recommendation-placements.integration.spec.js` |
| `TST-COM-CAT-147` | services-commerce | `modules/recommendations/tests/integration/services/persistence/recommendation-placements.queries.integration.spec.js` |
| `TST-COM-CAT-148` | services-commerce | `modules/recommendations/tests/integration/services/persistence/recommendation-rules.integration.spec.js` |
| `TST-COM-CAT-149` | services-commerce | `modules/recommendations/tests/integration/services/persistence/recommendation-rules.queries.integration.spec.js` |
| `TST-COM-CAT-150` | services-commerce | `modules/recommendations/tests/unit/holdout.spec.js` |
| `TST-COM-CAT-151` | services-commerce | `modules/recommendations/tests/unit/rule-rules.spec.js` |

## Control Backfill Allocations

| Id | Purpose |
|---|---|
| `FND-COM-CAT-051` | A repeated code-generation request without a request key creates another batch; the interface does not require a stable key to prevent that second effect. |
| `FND-COM-CAT-052` | Offer acceptance checks for an earlier interaction before changing the cart; concurrent requests can both reach the change before the retained interaction resolves their identity. |
| `FND-COM-CAT-053` | Applying a promotion from an offer and recording acceptance do not share an enclosing transaction; a later recording failure leaves a changed cart without its accepted-offer result. |
| `FND-COM-CAT-054` | Public storefront, quote and offer evaluation retain an explicit rate-limiting exception; the declared public routes do not provide the requested operation-specific abuse limits. |
