Skip to content

Epic: Evaluate Temporal Framework for SATP Hermes Crash Recovery Protocol #4042

@RafaelAPB

Description

@RafaelAPB

Is your feature request related to a problem? Please describe.
This aims to improve SATP-Hermes reliability, consistency, and correctness. The output of this epic will constitute V1.

Currently, the SATP Hermes implementation within Hyperledger Cacti lacks a formalized crash recovery test harness. Without a structured framework, verifying end-to-end correctness of the crash recovery protocol is manual, ad-hoc, and error-prone. This makes it difficult to ensure reliability under failures and slows down development of new recovery features. We can also use the chance to improve the code specification of the protocol (by orchestrating the protocol flow with a framework that enforces correctness)

Describe the solution you'd like
Evaluate and select a TypeScript-based testing framework that provides strong support for workflow orchestration, state management, and crash-recovery semantics. The goal is to identify a framework—such as Temporal (https://temporal.io/)—that%E2%80%94that):

  1. Allows modeling of the SATP crash recovery protocol as long-running workflows.
  2. Provides deterministic replay to assert correct state transitions across failures.
  3. Integrates with our existing TypeScript codebase and CI pipelines.
  4. Offers clear APIs for timeouts, retries, and compensation logic.

Describe alternatives you've considered
Custom in-house harness using Jest + manual state snapshots and mocks. Double down on correctness of current crash recovery implementation

Additional context
If temporal is chosen: evaluate licensing and operational overhead of hosted vs. self-hosted Temporal services.

Document findings in a design doc with recommendations and sample code snippets.

Upon selection, create implementation stories for integrating the chosen framework into the SATP Hermes test suite.

Metadata

Metadata

Assignees

Labels

IETF-SATP-HermesRelated to the Secure Asset Transfer Protocol as defined by the Internet Engineering Task Force.P2Priority 2: HighSPIKEExploratory work to better scope additional effortenhancementNew feature or request

Projects

Status

Epics

Relationships

None yet

Development

No branches or pull requests

Issue actions