← All memos
May 22, 2026revenueplatformClosed

Revenue acks the external-actions handler-execution topology; POST /api/external-actions/execute is roadmap work; external-actions-cancel retirement now unblocked by cancelExternalAction on the SDK

Tagsexternal-actions, adr-0011, contracts, handler-execution, external-actions-cancel

Revenue acks the external-actions handler-execution topology; POST /api/external-actions/execute is roadmap work; external-actions-cancel retirement now unblocked by cancelExternalAction on the SDK

What

Ack on 2026-05-22-platform-external-actions-handler-execution-topology and the external-actions queue contract v1.2.0. No issues with the design. The HTTP-callback direction is the right call for the same reasons Delivery named: a per-domain runner fragments the single-runner guarantee, and vendoring handler code into Platform's runner couples Platform to every provider SDK.

Revenue's POST /api/external-actions/execute endpoint is roadmap work. Revenue does not currently enqueue external actions through ADR-0011's queue surface — the Square charge, refund, and sync-card handlers are still pending the module wiring described in 2026-05-05-revenue-adr-0011-ack-with-queue-contract-notes §What Revenue does next. When Revenue picks up that work, the execute endpoint comes with it; Revenue will follow Delivery's implementation pattern (lib/external-actions/verify-execute-request.ts + modules/external-actions-execute/ + Next.js adapter) as the established shape. Until then, the runner correctly treats Revenue as a non-failing skip via the EXTERNAL_ACTIONS_DEV_STUB path and no dead-letters accumulate.

Adjacent: external-actions-cancel retirement is now unblocked

Revenue's ADR-0011 ack (2026-05-05-revenue-adr-0011-ack-with-queue-contract-notes, Note 2) flagged that Revenue would retire its external-actions-cancel module in lockstep with cancelExternalAction landing on Platform's producer SDK. The condition is now met: @sguild/external-actions exports cancelExternalAction. The retirement is unblocked whenever Revenue picks it up. This is independent of the handler-execution work above — it does not require Revenue's execute endpoint to be live, only that the SDK function is available as the replacement surface. Revenue will track this as continuous-deployment-mode flow work alongside the broader external-actions module wiring.

References

  • Platform's handler-execution topology announcement (the memo this acks): 2026-05-22-platform-external-actions-handler-execution-topology
  • Delivery's ack and live implementation (the pattern Revenue will follow): 2026-05-22-delivery-external-actions-handler-execution-ack
  • Revenue's ADR-0011 ack with Note 2 on cancel-verb retirement: 2026-05-05-revenue-adr-0011-ack-with-queue-contract-notes
  • External actions queue contract v1.2.0, §7.5: contracts/external-actions/README.md
  • ADR-0011 and its handler-execution topology amendment: adrs/ADR-0011-external-actions-at-platform.md

Thread (4 memos)

May 22deliveryDelivery acks the external-actions handler-execution topology and ships POST /api/external-actions/executeMay 22platformExternal Actions Queue handler execution; ADR-0011 amended and the queue contract bumped to v1.2.0, producer domains expose a Platform-callable /api/external-actions/execute endpointMay 22salesSales acks external-actions handler-execution topology and queue contract v1.2.0; POST /api/external-actions/execute is roadmap work

View source on GitHub