← Atlas Journey · Docs

Frozen document. Dates and status refer to its original source. Private resources and unreviewed images are unavailable.


status: accepted


Use durable commands and owner-controlled delivery

Atlas uses synchronous reads and revision-checked draft saves, with durable tracked operations for submissions, human decisions, cancellation, and payment-affecting commands. Record owners persist accepted updates, deduplication evidence, and outbox delivery intents together. Consumers record delivery receipts and reconcile uncertain results before repeating effects.

A synchronous chain across an integration layer, Camunda, and business storage cannot make those updates atomic. Returning a durable operation reference lets the portal show pending work and recover after a lost response. Polling and persisted dispatch workers keep the first demo's infrastructure small; browser push and a separate broker are deferred.

Consequences

Experience and system contracts retain separate responsibilities within the selected BFF and backend adapters, per ADR 0008. The September 30 ADR 0013 selects tRPC over HTTPS for React experience calls, with REST/OpenAPI compatibility and integration paths retained. Camunda owns BPMN sequencing. Business owners enforce revisions and uniqueness even when a retry uses a new idempotency key. Transport correlation alone does not prevent duplicate effects.

202 Accepted requires durable acceptance, not completion. Operation status, business decision, task progress, and financial outcome remain separate. A task accepted by the engine can still encounter an owner revision conflict; fulfillment must stop and preserve the authoritative competing outcome. Exact recovery paths and the selected Camunda start protocol require focused evidence before implementation readiness.

For tRPC, a successful RPC response can return the durably accepted operation reference and its pending status. HTTP success does not establish workflow completion, approval or settlement. Keep the REST 202 behavior on existing paths; migrate clients and their polling deliberately rather than assuming identical transport envelopes.

The Experience Layer contract records query/command boundaries, journey outlines, errors, bilingual rendering, delivery, and recovery requirements. Storage/runtime products and security enforcement remain separate decisions.

Evidence: the owner's acceptance of Decide MuleSoft Experience Layer contracts and recovery boundaries.