-
Notifications
You must be signed in to change notification settings - Fork 314
Description
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):
- Allows modeling of the SATP crash recovery protocol as long-running workflows.
- Provides deterministic replay to assert correct state transitions across failures.
- Integrates with our existing TypeScript codebase and CI pipelines.
- 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
Type
Projects
Status