Skip to content

JNY-COM-FUL-002Operations staff recover and close a failed delivery

Markdown

JNY-COM-FUL-002

Operations staff recover and close a failed delivery

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaCommerceModuleFulfillment, Shipping and InventoryRevision1End-to-endRequired

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.

Goal
Investigate failed delivery, attempt authorized recovery and retain the reason when staff close the work.
Screens
/console/{tenantId}/orders/operations/console/{tenantId}/orders/{orderId}

Steps

#SurfaceActionCapabilityExpectedProvenance
1commerce_obligation_workerReceive a permanent application refusal.CAP-COM-FUL-004The register retains its failure code and creates a delivery exception.test
services-commerce:modules/fulfillment/tests/integration/services/register/obligation-worker.integration.spec.js#fails the obligation with the participant’s code, raises obligation_failed, and acknowledges the item
2/console/{tenantId}/orders/operationsOpen Operations and choose the failed-delivery group.CAP-COM-FUL-008The adapter supplies findings with order, customer and age context.test
react-console:lib/commerce/operations/__tests__/live.test.ts#reads the open and acknowledged findings of each service kind, every page, and completes the shown rows from the order
3acknowledgeOperationalExceptionAcknowledge the exception with an explanation.CAP-COM-FUL-008Its state and order history reflect staff awareness.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
4reauthorizeObligationRe-authorize failed work with a recorded reason.CAP-COM-FUL-005A fresh instruction is sent and the fixture application refuses it again.test
services-commerce:modules/fulfillment/tests/e2e/obligation-register.e2e.spec.js#re-authorizes the failed obligation at sequence two, which the participant fails again, then resolves it with its exceptions
5resolveObligationResolve the failed obligation with its settlement result.CAP-COM-FUL-005The obligation and its open exceptions become resolved.test
services-commerce:modules/fulfillment/tests/e2e/obligation-register.e2e.spec.js#re-authorizes the failed obligation at sequence two, which the participant fails again, then resolves it with its exceptions

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate1The application never answers its instruction.Redispatch once at acknowledgement expiry, then record lost acknowledgement.A finding identifies the missing acknowledgement.test
services-commerce:modules/fulfillment/tests/integration/services/register/register-sweeper.integration.spec.js#fails it ack_lost on the next deadline, with the exception raised and the history line written
alternate4Staff have evidence that in-flight delivery completed.Use service-side manual completion with evidence.Completion is retained and a subsequent application callback is rejected.test
services-commerce:modules/fulfillment/tests/e2e/obligation-holds.e2e.spec.js#refuses the participant’s late callback as not in flight, leaving the manual completion
failure4Staff lack recovery authority.The menu marks re-authorization unavailable with its permission explanation.No recovery instruction is submitted.test
react-console:lib/commerce/operations/__tests__/rules.test.ts#asks each intervention for its own key, so holding one does not offer another

Assertions

IdStatementProvenance
01Staff interventions retain their reasons in the intervention log 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
02Obligation resolution closes its related open exceptions.test
services-commerce:modules/fulfillment/tests/e2e/obligation-register.e2e.spec.js#re-authorizes the failed obligation at sequence two, which the participant fails again, then resolves it with its exceptions
03Recovery uses a fresh authorization and obsolete authorization cannot change its outcome.test
services-commerce:modules/fulfillment/tests/integration/services/persistence/obligation-register.integration.spec.js#issues the next authorization for a failed obligation, naming the previous and superseding it; refuses any other state

End-to-end policy: required: Operations is a live console workflow that changes order work; adapter unit tests and service tests provide partial evidence, but an end-to-end browser scenario is still needed.

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.