---
id: CAP-COM-FUL-008
title: Review and resolve operations findings
feature: FEAT-COM-FUL-02
product_area: commerce
module: fulfillment
revision: 1
status: draft
product_intent: proposed
implementation_evidence: partially-observed
supersedes:
  - CAP-COM-REG-021
  - CAP-COM-REG-022
  - CAP-COM-REG-030
  - CAP-COM-REG-031
  - CAP-COM-REG-032
  - CAP-COM-REG-028
  - CAP-COM-REG-047
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources: []
purpose: Operations staff have a shared view of order problems requiring attention.
outcomes:
  - Operations findings provide attention for detected order problems.
  - Staff closure retains its result and explanation.
concepts:
  - CON-COM-FUL-003
actors:
  - ACT-COM-008
surfaces:
  - console
  - api
preconditions: []
postconditions: []
permissions:
  - key: commerce.exceptions.read
    where_checked: api
    scope: tenant
  - key: commerce.exceptions.acknowledge
    where_checked: api
    scope: tenant
  - key: commerce.exceptions.resolve
    where_checked: api
    scope: tenant
  - key: orders.operations.view
    where_checked: console
    scope: tenant
  - key: orders.operations.intervene
    where_checked: console
    scope: tenant
rules:
  - id: BR-CAP-COM-FUL-008-01
    proved_by: [ATS-COM-FUL-004-11, ATS-COM-FUL-006-06, ATS-COM-FUL-008-01, ATS-COM-FUL-008-08, ATS-COM-FUL-008-12, ATS-COM-FUL-019-09, TST-COM-FUL-018, TST-COM-FUL-043, TST-COM-FUL-069]
    statement: >-
      Staff can read workspace-specific exceptions newest first, filter by
      state, kind, subject kind and order, count them by kind and state and
      inspect individual records.
    kind: permission
    enforced_at:
      - api
      - database
    must_prove: true
    provenance: test
    source: >-
      services-commerce:modules/operations/tests/e2e/operations.e2e.spec.js#lists
      the finding the reconciler raised about the unbilled order, filtered by
      kind, state and order, and never another tenant’s
    origin: none
  - id: BR-CAP-COM-FUL-008-02
    proved_by: [ATS-COM-FUL-008-02, TST-COM-FUL-025, TST-COM-FUL-040, TST-COM-FUL-043]
    statement: >-
      Each subject has one open exception per kind; recurrence updates its
      occurrence count and details, and resolution permits a new exception
      later.
    kind: invariant
    enforced_at:
      - service
      - database
    must_prove: true
    provenance: test
    source: >-
      services-commerce:modules/fulfillment/tests/integration/db/register-tables.table.integration.spec.js#hold
      one OPEN exception per kind and subject (…_open_uidx), counting
      occurrences from one; a resolved one makes room for another
    origin: >-
      D-P5-08 (build decision, not a product ruling):
      services-commerce:docs/migrations/operations/README.md#D-P5-08
  - id: BR-CAP-COM-FUL-008-03
    proved_by: [ATS-COM-FUL-003-07, ATS-COM-FUL-005-09, ATS-COM-FUL-007-07, ATS-COM-FUL-008-03, ATS-COM-FUL-008-06, ATS-COM-FUL-008-07, ATS-COM-FUL-008-10, ATS-COM-FUL-008-11, ATS-COM-FUL-009-07, TST-COM-FUL-069, TST-COM-FUL-070]
    statement: >-
      Acknowledgement records staff awareness and resolution records closure,
      both with reasons, intervention history and audit invocation; resolution
      also requires its result and prevents either action on the resolved
      exception.
    kind: lifecycle
    enforced_at:
      - api
      - service
    must_prove: true
    provenance: test
    source: >-
      services-commerce:modules/operations/tests/integration/services/interventions/operations-interventions.integration.spec.js#acknowledges
      the exception, then resolves it, with the log rows, the history lines and
      the audit events; a resolved one is refused again
    origin: none
  - id: BR-CAP-COM-FUL-008-04
    proved_by: [ATS-COM-FUL-008-03, TST-COM-FUL-069, TST-COM-FUL-070]
    statement: >-
      The operations queue rejects portal callers, read-only interventions and
      interventions lacking reasons.
    kind: permission
    enforced_at:
      - api
    must_prove: true
    provenance: observed
    source: 'services-commerce:modules/operations/aws/api/operations.routes.ts'
    origin: none
  - id: BR-CAP-COM-FUL-008-05
    proved_by: []
    statement: >-
      Operations tiles combine open and acknowledged counts for each console
      kind and show an empty-attention state when no findings remain open.
    kind: policy
    enforced_at:
      - console
    must_prove: false
    provenance: test
    source: >-
      react-console:lib/commerce/operations/__tests__/live.test.ts#folds the
      summary's open and acknowledged counts onto the console's kinds
    origin: none
  - id: BR-CAP-COM-FUL-008-06
    proved_by: [ATS-COM-FUL-005-11, ATS-COM-FUL-008-04, ATS-COM-FUL-008-06, ATS-COM-FUL-008-09, TST-COM-FUL-001, TST-COM-FUL-002]
    statement: >-
      Exception kind determines the Operations action menu, missing permissions
      mark actions unavailable, and the service adapter separately checks
      whether each subject action has a route.
    kind: permission
    enforced_at:
      - console
    must_prove: true
    provenance: observed
    source: >-
      react-console:lib/commerce/operations/live.ts:serviceOffers;
      react-console:lib/commerce/operations/rules.ts:interventionsFor
    origin: DEF-COM-0820 (acceptance defect)
  - id: BR-CAP-COM-FUL-008-07
    proved_by: [ATS-COM-FUL-008-05, ATS-COM-FUL-008-06, TST-COM-FUL-001, TST-COM-FUL-002]
    statement: >-
      Resolve collects evidence and sends it as both reason and resolution,
      while other Operations interventions collect a reason.
    kind: validation
    enforced_at:
      - console
    must_prove: true
    provenance: test
    source: >-
      react-console:lib/commerce/operations/__tests__/rules.test.ts#asks Resolve
      for evidence and every other intervention for a reason
    origin: none
  - id: BR-CAP-COM-FUL-008-08
    proved_by: [ATS-COM-FUL-008-04, TST-COM-FUL-001, TST-COM-FUL-002]
    statement: >-
      Unsupported tender retry, mirror reconciliation, label void, return
      receipt and reservation-release actions report that they are unavailable
      and send no request.
    kind: policy
    enforced_at:
      - console
    must_prove: true
    provenance: test
    source: >-
      react-console:lib/commerce/operations/__tests__/live.test.ts#says an
      intervention with no route isn't available yet, and calls nothing
    origin: none
  - id: BR-CAP-COM-FUL-008-09
    proved_by: []
    statement: >-
      Opening Operations requires its view permission mapped to exception-read
      authority, and the screen offers no bulk intervention.
    kind: permission
    enforced_at:
      - console
    must_prove: false
    provenance: observed
    source: >-
      react-console:app/(console)/console/[tenantId]/orders/operations/page.tsx;
      react-console:lib/authz/backend-aliases.ts;
      react-console:lib/commerce/operations/live.ts
    origin: none
  - id: BR-CAP-COM-FUL-008-10
    proved_by: []
    statement: >-
      Operations loads at most 1,000 findings and filters and sorts that
      browser-held collection because the service supplies neither total count
      nor search or sort.
    kind: policy
    enforced_at:
      - console
    must_prove: false
    provenance: observed
    source: 'react-console:lib/commerce/operations/live.ts:EXCEPTION_LIST_CAP'
    origin: none
  - id: BR-CAP-COM-FUL-008-11
    proved_by: []
    statement: >-
      The operations HTTP function exposes its public health check without a
      security context.
    kind: policy
    enforced_at:
      - api
    must_prove: false
    provenance: test
    source: >-
      services-commerce:modules/operations/tests/e2e/health.e2e.spec.js#answers
      200 without a security context
    origin: none
scenarios:
  - id: SC-CAP-COM-FUL-008-01
    given: Reconciliation found an order still awaiting billing.
    when: Read queue results filtered to its kind and order.
    then: >-
      That workspace's finding and summary counts appear without foreign
      findings.
    provenance: test
    source: >-
      services-commerce:modules/operations/tests/e2e/operations.e2e.spec.js#lists
      the finding the reconciler raised about the unbilled order, filtered by
      kind, state and order, and never another tenant’s
  - id: SC-CAP-COM-FUL-008-02
    given: A finding remains open.
    when: Acknowledge it and subsequently resolve it with evidence.
    then: Both staff actions remain in the intervention record and order history.
    provenance: test
    source: >-
      services-commerce:modules/operations/tests/e2e/operations.e2e.spec.js#acknowledges
      then resolves the finding, with the interventions logged, the order’s
      history and the audit events recorded
edge_cases: []
constraints: []
depends_on:
  - CAP-COM-FUL-009
related:
  - CAP-COM-FUL-005
  - CAP-COM-FUL-006
  - CAP-COM-FUL-007
journeys:
  - JNY-COM-FUL-002
  - JNY-COM-FUL-005
open_questions:
  - OQ-COM-FUL-004
evidence:
  - repository: services-commerce
    sources:
      - >-
        services-commerce:modules/operations/tests/e2e/operations.e2e.spec.js#lists
        the finding the reconciler raised about the unbilled order, filtered by
        kind, state and order, and never another tenant’s
      - >-
        services-commerce:modules/fulfillment/tests/integration/db/register-tables.table.integration.spec.js#hold
        one OPEN exception per kind and subject (…_open_uidx), counting
        occurrences from one; a resolved one makes room for another
      - >-
        services-commerce:modules/operations/tests/integration/services/interventions/operations-interventions.integration.spec.js#acknowledges
        the exception, then resolves it, with the log rows, the history lines
        and the audit events; a resolved one is refused again
      - 'services-commerce:modules/operations/aws/api/operations.routes.ts'
      - >-
        services-commerce:modules/operations/tests/e2e/health.e2e.spec.js#answers
        200 without a security context
  - repository: react-console
    sources:
      - >-
        react-console:lib/commerce/operations/__tests__/live.test.ts#folds the
        summary's open and acknowledged counts onto the console's kinds
      - >-
        react-console:lib/commerce/operations/live.ts:serviceOffers;
        react-console:lib/commerce/operations/rules.ts:interventionsFor
      - >-
        react-console:lib/commerce/operations/__tests__/rules.test.ts#asks
        Resolve for evidence and every other intervention for a reason
      - >-
        react-console:lib/commerce/operations/__tests__/live.test.ts#says an
        intervention with no route isn't available yet, and calls nothing
      - >-
        react-console:app/(console)/console/[tenantId]/orders/operations/page.tsx;
        react-console:lib/authz/backend-aliases.ts;
        react-console:lib/commerce/operations/live.ts
      - 'react-console:lib/commerce/operations/live.ts:EXCEPTION_LIST_CAP'
controls: [TC-IAM-006, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004, TC-CRY-001, TC-CRY-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-AVL-004, TC-MON-001, TC-MON-002, TC-MON-004, TC-PI-001, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005, TC-VEN-001, TC-VEN-002, TC-VEN-003, TC-PRV-001, TC-PRV-002]
exercised_by: [FAS-COM-FUL-02-01, FAS-COM-FUL-02-02, FAS-COM-FUL-02-03, FAS-COM-FUL-02-04]
suites: [TST-COM-FUL-001, TST-COM-FUL-002, TST-COM-FUL-018, TST-COM-FUL-025, TST-COM-FUL-040, TST-COM-FUL-043, TST-COM-FUL-069, TST-COM-FUL-070]
---

# Review and resolve operations findings

## Purpose

Operations staff have a shared view of order problems requiring attention.

## How It Works

Staff open Operations to see grouped findings and select the kind they need to investigate. A finding supplies the order context and available interventions. The menu distinguishes missing authority from actions the service cannot yet perform. Staff acknowledge that they have seen work or resolve it with an explanation. Subject-specific actions lead to the appropriate obligation, adjustment or enforcement. The displayed collection has a browser-side size limit that can affect search and sorting. The product should bring warehouse findings into a deliberate, visible staff workflow.

## Relationships

- Detect stalled and inconsistent order work supplies or consumes related delivery records.
- Understand and intervene in an order's delivery supplies or consumes related delivery records.
- Handle financial reversals after delivery supplies or consumes related delivery records.
- Complete the financial work requested by a post-sale document supplies or consumes related delivery records.
