ruby_reactor 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.release-please-manifest.json +1 -1
  3. data/.specify/feature.json +1 -1
  4. data/.specify/memory/constitution.md +26 -16
  5. data/.specify/templates/plan-template.md +4 -0
  6. data/.specify/templates/tasks-template.md +1 -1
  7. data/CHANGELOG.md +140 -0
  8. data/CLAUDE.md +1 -1
  9. data/README.md +125 -31
  10. data/lib/ruby_reactor/context.rb +2 -2
  11. data/lib/ruby_reactor/dsl/interrupt_builder.rb +6 -0
  12. data/lib/ruby_reactor/dsl/reactor.rb +36 -18
  13. data/lib/ruby_reactor/dsl/step_builder.rb +95 -2
  14. data/lib/ruby_reactor/dsl/template_helpers.rb +2 -2
  15. data/lib/ruby_reactor/dsl/validation_helpers.rb +17 -0
  16. data/lib/ruby_reactor/error/input_validation_error.rb +4 -0
  17. data/lib/ruby_reactor/error/step_failure_error.rb +10 -3
  18. data/lib/ruby_reactor/executor/result_handler.rb +9 -3
  19. data/lib/ruby_reactor/executor/retry_manager.rb +2 -1
  20. data/lib/ruby_reactor/executor/step_executor.rb +9 -2
  21. data/lib/ruby_reactor/executor.rb +3 -0
  22. data/lib/ruby_reactor/max_retries_exhausted_failure.rb +3 -2
  23. data/lib/ruby_reactor/reactor.rb +9 -12
  24. data/lib/ruby_reactor/rspec/matchers.rb +3 -6
  25. data/lib/ruby_reactor/step/async_reactor_step.rb +159 -162
  26. data/lib/ruby_reactor/step/compose_step.rb +56 -75
  27. data/lib/ruby_reactor/step/input_contract.rb +128 -0
  28. data/lib/ruby_reactor/step/map_step.rb +177 -218
  29. data/lib/ruby_reactor/step.rb +116 -21
  30. data/lib/ruby_reactor/step_signals.rb +6 -2
  31. data/lib/ruby_reactor/step_worker.rb +25 -10
  32. data/lib/ruby_reactor/template/result.rb +9 -2
  33. data/lib/ruby_reactor/utils/fetch_indifferent.rb +13 -0
  34. data/lib/ruby_reactor/version.rb +1 -1
  35. data/lib/ruby_reactor.rb +5 -2
  36. data/specs/002-step-input-contracts/checklists/requirements.md +49 -0
  37. data/specs/002-step-input-contracts/contracts/dsl-surface.md +193 -0
  38. data/specs/002-step-input-contracts/data-model.md +115 -0
  39. data/specs/002-step-input-contracts/plan.md +165 -0
  40. data/specs/002-step-input-contracts/quickstart.md +170 -0
  41. data/specs/002-step-input-contracts/research.md +233 -0
  42. data/specs/002-step-input-contracts/spec.md +359 -0
  43. data/specs/002-step-input-contracts/tasks.md +367 -0
  44. data/specs/004-inheritable-step-class/checklists/requirements.md +40 -0
  45. data/specs/004-inheritable-step-class/contracts/step-lifecycle.md +85 -0
  46. data/specs/004-inheritable-step-class/data-model.md +116 -0
  47. data/specs/004-inheritable-step-class/plan.md +174 -0
  48. data/specs/004-inheritable-step-class/quickstart.md +112 -0
  49. data/specs/004-inheritable-step-class/research.md +308 -0
  50. data/specs/004-inheritable-step-class/spec.md +316 -0
  51. data/specs/004-inheritable-step-class/tasks.md +258 -0
  52. data/specs/deferred-003-step-lock-declarations/checklists/requirements.md +51 -0
  53. data/specs/deferred-003-step-lock-declarations/contracts/dsl-surface.md +154 -0
  54. data/specs/deferred-003-step-lock-declarations/data-model.md +131 -0
  55. data/specs/deferred-003-step-lock-declarations/plan.md +166 -0
  56. data/specs/deferred-003-step-lock-declarations/quickstart.md +169 -0
  57. data/specs/deferred-003-step-lock-declarations/research.md +196 -0
  58. data/specs/deferred-003-step-lock-declarations/spec.md +447 -0
  59. data/specs/deferred-003-step-lock-declarations/tasks.md +572 -0
  60. data/specs/possible_feature.md +22 -0
  61. metadata +28 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_reactor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artur
@@ -223,6 +223,7 @@ files:
223
223
  - lib/ruby_reactor/step.rb
224
224
  - lib/ruby_reactor/step/async_reactor_step.rb
225
225
  - lib/ruby_reactor/step/compose_step.rb
226
+ - lib/ruby_reactor/step/input_contract.rb
226
227
  - lib/ruby_reactor/step/map_step.rb
227
228
  - lib/ruby_reactor/step_signals.rb
228
229
  - lib/ruby_reactor/step_sweeper.rb
@@ -245,6 +246,7 @@ files:
245
246
  - lib/ruby_reactor/template/value.rb
246
247
  - lib/ruby_reactor/utils/backtrace_location.rb
247
248
  - lib/ruby_reactor/utils/code_extractor.rb
249
+ - lib/ruby_reactor/utils/fetch_indifferent.rb
248
250
  - lib/ruby_reactor/validation/base.rb
249
251
  - lib/ruby_reactor/validation/input_validator.rb
250
252
  - lib/ruby_reactor/validation/schema_builder.rb
@@ -261,7 +263,32 @@ files:
261
263
  - llms-full.txt
262
264
  - llms.txt
263
265
  - sig/ruby_reactor.rbs
266
+ - specs/002-step-input-contracts/checklists/requirements.md
267
+ - specs/002-step-input-contracts/contracts/dsl-surface.md
268
+ - specs/002-step-input-contracts/data-model.md
269
+ - specs/002-step-input-contracts/plan.md
270
+ - specs/002-step-input-contracts/quickstart.md
271
+ - specs/002-step-input-contracts/research.md
272
+ - specs/002-step-input-contracts/spec.md
273
+ - specs/002-step-input-contracts/tasks.md
274
+ - specs/004-inheritable-step-class/checklists/requirements.md
275
+ - specs/004-inheritable-step-class/contracts/step-lifecycle.md
276
+ - specs/004-inheritable-step-class/data-model.md
277
+ - specs/004-inheritable-step-class/plan.md
278
+ - specs/004-inheritable-step-class/quickstart.md
279
+ - specs/004-inheritable-step-class/research.md
280
+ - specs/004-inheritable-step-class/spec.md
281
+ - specs/004-inheritable-step-class/tasks.md
264
282
  - specs/active_job.md
283
+ - specs/deferred-003-step-lock-declarations/checklists/requirements.md
284
+ - specs/deferred-003-step-lock-declarations/contracts/dsl-surface.md
285
+ - specs/deferred-003-step-lock-declarations/data-model.md
286
+ - specs/deferred-003-step-lock-declarations/plan.md
287
+ - specs/deferred-003-step-lock-declarations/quickstart.md
288
+ - specs/deferred-003-step-lock-declarations/research.md
289
+ - specs/deferred-003-step-lock-declarations/spec.md
290
+ - specs/deferred-003-step-lock-declarations/tasks.md
291
+ - specs/possible_feature.md
265
292
  - teley/Dockerfile
266
293
  homepage: https://github.com/arturictus/ruby_reactor
267
294
  licenses: []