Merged
Conversation
… testing utilities.
…mode and enhancing test helper controls.
…ation and API data handling, and add context status helpers.
arturictus
commented
Jan 16, 2026
| define_singleton_method(:name) { superclass.name } | ||
|
|
||
| # 3. Apply Force Sync (Disable async on all steps) | ||
| if force_sync |
Owner
Author
There was a problem hiding this comment.
we shouldn't force sync, just regular execution, queuing the jobs. later on tests we can drain the jobs and proceed
… from the adapter, introducing manual job processing in `TestSubject` with `Sidekiq::Testing.fake!`, and updating `MapStep` to respect forced synchronous execution and collect successful values by default.
…ec testing utilities for reactors.
…t reactor results from context status.
arturictus
commented
Jan 18, 2026
| unless @compensation_manager.undo_stack.any? { |existing| existing[:step].name.to_s == item[:step].name.to_s } | ||
| @compensation_manager.add_to_undo_stack(item) | ||
| end | ||
| def refresh_context_from_storage |
Owner
Author
There was a problem hiding this comment.
We should verify if this code is still relevant or is a remnant of the rejected inline executor for testing
…er and extend RSpec helper's inline completion check to include RetryQueuedResult.
…text` and retry management.
…or` to `RSpec::Helpers`
… inline asynchronous reactor testing.
…r::RSpec.configure` method.
…icated private helpers for improved modularity and readability.
…nstruction and improve `map_step` fail-fast behavior with detailed RSpec failure messages.
… and include corresponding tests.
…objects and update map step testing to use real storage.
… modularize TestSubject's step interception.
… reactor testing.
5f317b3 to
e8969d3
Compare
… Reactor interrupt pause/resume and concurrent interrupt workflows.
…enhanced reactor testing and update documentation with an example.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the RubyReactor library, with a focus on better async execution handling, enhanced context serialization/deserialization, and expanded support for RSpec testing. The most important changes are grouped below by theme.
Async Execution and Context Handling
step_executor.rbandreactor.rb: Inline executions (such as in test mode or Sidekiq inline testing) now correctly reload and synchronize context state from storage, ensuring that results and traces are up-to-date. Also, async router now usesSidekiqAdapterby default. [1] [2] [3] [4] [5]finished?,failed?) to theContextclass for easier workflow control.Serialization and Deserialization Improvements
ContextSerializerto support serializing/deserializingSymboltypes, and improved handling of unknown type wrappers by recursively deserializing values. Introducedsimplify_for_apito flatten and clean up data for API usage. [1] [2] [3] [4]Error and Result Handling
FailureandSuccessresult objects now have ato_hmethod for easier inspection and serialization. The executor now attaches validation errors to failures when handling input validation errors. [1] [2] [3]RSpec Integration
lib/ruby_reactor/rspec.rband supporting files for streamlined test setup. [1] [2] [3]These changes collectively improve the reliability and testability of async workflows, make context and result data easier to work with, and enhance the developer experience for testing reactors.