AbsoluteJS

OUTCOME PLAYBOOK

Deliver messages safely

Send a zero-credential local message, then move through consent, provider delivery, durable callbacks, and operational evidence.

  1. 1. Choose
  2. 2. Install
  3. 3. Run
  4. 4. Verify
  5. 5. Harden
  6. 6. Operate

#Choose the package boundaries

Required packages establish the local success path. Production and operate packages close durability and evidence boundaries.

#Prerequisites

A stable tenant and recipient identity.
Explicit consent rules for every outbound channel.
Provider credentials and verified callback secrets only after local success.

#Install the complete surface

BASH
bun add @absolutejs/dispatch @absolutejs/audit

Smallest useful file tree

TXT
src/
  dispatch.ts      # dispatcher and channel policies
  consent.ts       # recipient/channel decisions
  callbacks.ts     # verified durable webhook intake
  worker.ts        # retryable callback drain
  dispatch.test.ts # memory-adapter proof

#Run and verify

Send locally

Use the bundled memory adapter and send one email-shaped message.

Proof of success: inspect() returns exactly the normalized message you sent.

  1. 1. Choose
  2. 2. Install
  3. 3. Run
  4. 4. Verify
  5. 5. Harden
  6. 6. Operate

#Expected results

The memory adapter contains exactly one normalized message.
A denied-consent test never invokes the provider adapter.
A duplicate provider callback produces one normalized application event.

#Development to production

DevelopmentMemory channel adapterProductionOne explicit provider adapter per channel
Provider credentials and delivery semantics stay outside application intent.
DevelopmentInline callback processingProductionDurable intake plus retryable drain
Acknowledgement, persistence, and application effects fail independently.

#Failure decisions

A send is rejected before delivery.
Check firstInspect policy and consent evidence before provider logs.
ThenCorrect recipient/channel consent or application policy.
Delivery is indeterminate.
Check firstDetermine whether the provider accepted the request before retrying.
ThenReconcile by idempotency key and callback status.