Skip to content

CAP-COM-FUL-008Review and resolve operations findings

Markdown

CAP-COM-FUL-008

Review and resolve operations findings

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationPartially observed

KindCapabilityProduct areaCommerceModuleFulfillment, Shipping and InventoryRevision1

Read atservices-commerce c8b66a98react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Operations findings provide attention for detected order problems.Staff closure retains its result and explanation.
Surfaces
consoleapi

Controls

36 controls apply, from the corpus control catalogue.

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

Permissions

KeyChecked atScope
commerce.exceptions.readapitenant
commerce.exceptions.acknowledgeapitenant
commerce.exceptions.resolveapitenant
orders.operations.viewconsoletenant
orders.operations.interveneconsoletenant

Business Rules

11 rules, 7 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
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.
no proof recorded yet
permissionapi, databasetest
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
02must prove
Proposed
Each subject has one open exception per kind; recurrence updates its occurrence count and details, and resolution permits a new exception later.
origin: D-P5-08 (build decision, not a product ruling): services-commerce:docs/migrations/operations/README.md#D-P5-08
no proof recorded yet
invariantservice, databasetest
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
03must prove
Proposed
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.
no proof recorded yet
lifecycleapi, servicetest
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
04must prove
Proposed
The operations queue rejects portal callers, read-only interventions and interventions lacking reasons.
no proof recorded yet
permissionapiobserved
05
Proposed
Operations tiles combine open and acknowledged counts for each console kind and show an empty-attention state when no findings remain open.
policyconsoletest
react-console:lib/commerce/operations/__tests__/live.test.ts#folds the summary's open and acknowledged counts onto the console's kinds
06must prove
Proposed
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.
origin: DEF-COM-0820 (acceptance defect)
no proof recorded yet
permissionconsoleobserved
07must prove
Proposed
Resolve collects evidence and sends it as both reason and resolution, while other Operations interventions collect a reason.
no proof recorded yet
validationconsoletest
react-console:lib/commerce/operations/__tests__/rules.test.ts#asks Resolve for evidence and every other intervention for a reason
08must prove
Proposed
Unsupported tender retry, mirror reconciliation, label void, return receipt and reservation-release actions report that they are unavailable and send no request.
no proof recorded yet
policyconsoletest
react-console:lib/commerce/operations/__tests__/live.test.ts#says an intervention with no route isn't available yet, and calls nothing
09
Proposed
Opening Operations requires its view permission mapped to exception-read authority, and the screen offers no bulk intervention.
permissionconsoleobserved
10
Proposed
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.
policyconsoleobserved
11
Proposed
The operations HTTP function exposes its public health check without a security context.
policyapitest

Scenarios

IdGivenWhenThenProvenance
01Reconciliation found an order still awaiting billing.Read queue results filtered to its kind and order.That workspace's finding and summary counts appear without foreign findings.test
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
02A finding remains open.Acknowledge it and subsequently resolve it with evidence.Both staff actions remain in the intervention record and order history.test
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

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.