smith-agents 0.4.5 → 0.6.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +264 -0
  3. data/README.md +191 -4
  4. data/docs/CONFIGURATION.md +4 -1
  5. data/docs/PATTERNS.md +7 -0
  6. data/docs/PERSISTENCE.md +347 -25
  7. data/lib/smith/agent/lifecycle.rb +19 -10
  8. data/lib/smith/agent/registry/execution_binding_capture.rb +26 -0
  9. data/lib/smith/agent/registry/mutation_boundary.rb +29 -0
  10. data/lib/smith/agent/registry.rb +8 -0
  11. data/lib/smith/agent.rb +37 -2
  12. data/lib/smith/budget/amount_contract.rb +67 -0
  13. data/lib/smith/budget/amount_representation.rb +43 -0
  14. data/lib/smith/budget/decimal_context.rb +18 -0
  15. data/lib/smith/budget/ledger.rb +110 -18
  16. data/lib/smith/budget/ledger_publication.rb +60 -0
  17. data/lib/smith/budget/ledger_state.rb +21 -0
  18. data/lib/smith/budget/ledger_state_transition.rb +72 -0
  19. data/lib/smith/budget/public_state_validator.rb +25 -0
  20. data/lib/smith/budget/reservation.rb +20 -0
  21. data/lib/smith/budget/reservation_contract.rb +34 -0
  22. data/lib/smith/context/observation_masking.rb +3 -1
  23. data/lib/smith/context/state_injection.rb +1 -1
  24. data/lib/smith/doctor/checks/persistence_capabilities.rb +18 -4
  25. data/lib/smith/error.rb +5 -0
  26. data/lib/smith/errors.rb +10 -0
  27. data/lib/smith/exponential_backoff.rb +128 -0
  28. data/lib/smith/persistence_adapters/active_record_exact_predicate.rb +43 -0
  29. data/lib/smith/persistence_adapters/active_record_exact_store.rb +62 -0
  30. data/lib/smith/persistence_adapters/active_record_exact_write.rb +40 -0
  31. data/lib/smith/persistence_adapters/active_record_store.rb +7 -4
  32. data/lib/smith/persistence_adapters/cache_store.rb +1 -0
  33. data/lib/smith/persistence_adapters/memory.rb +16 -1
  34. data/lib/smith/persistence_adapters/redis_client_access.rb +38 -0
  35. data/lib/smith/persistence_adapters/redis_exact_write.rb +44 -0
  36. data/lib/smith/persistence_adapters/redis_store.rb +28 -11
  37. data/lib/smith/persistence_adapters/retry.rb +22 -10
  38. data/lib/smith/persistence_adapters.rb +21 -18
  39. data/lib/smith/persistence_payload_conflict.rb +12 -0
  40. data/lib/smith/tool/budget_enforcement.rb +2 -2
  41. data/lib/smith/types.rb +1 -0
  42. data/lib/smith/version.rb +2 -1
  43. data/lib/smith/workflow/branch_env.rb +1 -1
  44. data/lib/smith/workflow/budget_integration.rb +21 -11
  45. data/lib/smith/workflow/composite/branch.rb +93 -0
  46. data/lib/smith/workflow/composite/branch_budget_contract.rb +41 -0
  47. data/lib/smith/workflow/composite/branch_contract.rb +102 -0
  48. data/lib/smith/workflow/composite/branch_execution.rb +124 -0
  49. data/lib/smith/workflow/composite/branch_failure.rb +91 -0
  50. data/lib/smith/workflow/composite/branch_outcome.rb +108 -0
  51. data/lib/smith/workflow/composite/budget_allocator.rb +78 -0
  52. data/lib/smith/workflow/composite/budget_math.rb +51 -0
  53. data/lib/smith/workflow/composite/contract.rb +100 -0
  54. data/lib/smith/workflow/composite/effects.rb +140 -0
  55. data/lib/smith/workflow/composite/effects_application.rb +36 -0
  56. data/lib/smith/workflow/composite/effects_baseline.rb +36 -0
  57. data/lib/smith/workflow/composite/effects_preflight.rb +102 -0
  58. data/lib/smith/workflow/composite/encoded_value_budget.rb +36 -0
  59. data/lib/smith/workflow/composite/enums.rb +27 -0
  60. data/lib/smith/workflow/composite/error.rb +54 -0
  61. data/lib/smith/workflow/composite/error_evidence.rb +61 -0
  62. data/lib/smith/workflow/composite/execution_contract.rb +73 -0
  63. data/lib/smith/workflow/composite/fanout_branch_contract.rb +61 -0
  64. data/lib/smith/workflow/composite/input.rb +53 -0
  65. data/lib/smith/workflow/composite/outcome_accumulator.rb +131 -0
  66. data/lib/smith/workflow/composite/outcome_set.rb +23 -0
  67. data/lib/smith/workflow/composite/payload.rb +128 -0
  68. data/lib/smith/workflow/composite/payload_digest.rb +28 -0
  69. data/lib/smith/workflow/composite/plan.rb +130 -0
  70. data/lib/smith/workflow/composite/plan_integrity.rb +52 -0
  71. data/lib/smith/workflow/composite/planner.rb +53 -0
  72. data/lib/smith/workflow/composite/preparation.rb +27 -0
  73. data/lib/smith/workflow/composite/reducer.rb +133 -0
  74. data/lib/smith/workflow/composite/reduction.rb +31 -0
  75. data/lib/smith/workflow/composite/value_budget.rb +90 -0
  76. data/lib/smith/workflow/composite_branch_execution_authorization.rb +52 -0
  77. data/lib/smith/workflow/deadline_enforcement.rb +22 -5
  78. data/lib/smith/workflow/definition_identity/class_methods.rb +48 -0
  79. data/lib/smith/workflow/definition_identity.rb +25 -0
  80. data/lib/smith/workflow/deterministic_step.rb +2 -2
  81. data/lib/smith/workflow/dsl.rb +73 -5
  82. data/lib/smith/workflow/durability.rb +1 -1
  83. data/lib/smith/workflow/evaluator_optimizer.rb +7 -11
  84. data/lib/smith/workflow/execution.rb +28 -30
  85. data/lib/smith/workflow/execution_binding_resolution.rb +16 -0
  86. data/lib/smith/workflow/execution_result_snapshot.rb +118 -0
  87. data/lib/smith/workflow/fanout_execution.rb +20 -19
  88. data/lib/smith/workflow/graph/diagnostic.rb +27 -1
  89. data/lib/smith/workflow/graph/diagnostic_path.rb +24 -0
  90. data/lib/smith/workflow/graph/execution_successors.rb +65 -0
  91. data/lib/smith/workflow/graph/identifier_projection.rb +13 -0
  92. data/lib/smith/workflow/graph/metrics.rb +1 -3
  93. data/lib/smith/workflow/graph/nested_readiness_diagnostics.rb +15 -16
  94. data/lib/smith/workflow/graph/optimization_contract.rb +2 -2
  95. data/lib/smith/workflow/graph/orchestration_contract.rb +3 -3
  96. data/lib/smith/workflow/graph/reachability.rb +19 -31
  97. data/lib/smith/workflow/graph/reachability_diagnostics.rb +17 -1
  98. data/lib/smith/workflow/graph/retry_policy_diagnostic.rb +36 -0
  99. data/lib/smith/workflow/graph/runtime_binding_diagnostics.rb +2 -2
  100. data/lib/smith/workflow/graph/runtime_readiness.rb +3 -44
  101. data/lib/smith/workflow/graph/runtime_readiness_metrics.rb +2 -2
  102. data/lib/smith/workflow/graph/runtime_readiness_report_builder.rb +47 -0
  103. data/lib/smith/workflow/graph/runtime_readiness_traversal.rb +108 -0
  104. data/lib/smith/workflow/graph/state_diagnostics.rb +2 -2
  105. data/lib/smith/workflow/graph/transition_contract.rb +47 -0
  106. data/lib/smith/workflow/graph/transition_contract_attributes.rb +73 -0
  107. data/lib/smith/workflow/graph/transition_contract_configurations.rb +100 -0
  108. data/lib/smith/workflow/graph/transition_diagnostics.rb +54 -12
  109. data/lib/smith/workflow/graph/transition_optimization_configuration.rb +62 -0
  110. data/lib/smith/workflow/graph/transition_snapshot.rb +4 -1
  111. data/lib/smith/workflow/graph/validator.rb +1 -1
  112. data/lib/smith/workflow/graph.rb +62 -4
  113. data/lib/smith/workflow/guardrail_integration.rb +23 -9
  114. data/lib/smith/workflow/identifier.rb +24 -0
  115. data/lib/smith/workflow/message_admission.rb +40 -0
  116. data/lib/smith/workflow/message_admission_boundary.rb +22 -0
  117. data/lib/smith/workflow/message_batch.rb +60 -0
  118. data/lib/smith/workflow/message_value_normalizer.rb +134 -0
  119. data/lib/smith/workflow/nested_execution.rb +10 -0
  120. data/lib/smith/workflow/orchestrator_worker.rb +3 -7
  121. data/lib/smith/workflow/parallel/cancellation_signal.rb +14 -5
  122. data/lib/smith/workflow/parallel/execution_context.rb +113 -0
  123. data/lib/smith/workflow/parallel/nested_execution.rb +124 -0
  124. data/lib/smith/workflow/parallel/root_execution.rb +91 -0
  125. data/lib/smith/workflow/parallel.rb +19 -22
  126. data/lib/smith/workflow/parallel_agent_binding.rb +24 -0
  127. data/lib/smith/workflow/parallel_execution.rb +46 -14
  128. data/lib/smith/workflow/persistence.rb +37 -8
  129. data/lib/smith/workflow/prepared_branch_execution.rb +31 -0
  130. data/lib/smith/workflow/prepared_step.rb +122 -0
  131. data/lib/smith/workflow/prepared_step_dispatch.rb +88 -0
  132. data/lib/smith/workflow/prepared_step_execution_authorization.rb +101 -0
  133. data/lib/smith/workflow/prepared_step_execution_result.rb +49 -0
  134. data/lib/smith/workflow/prepared_step_execution_scope.rb +111 -0
  135. data/lib/smith/workflow/prepared_step_recovery.rb +38 -0
  136. data/lib/smith/workflow/process_local.rb +33 -0
  137. data/lib/smith/workflow/retry_execution.rb +20 -11
  138. data/lib/smith/workflow/split_step_persistence/boundary.rb +35 -22
  139. data/lib/smith/workflow/split_step_persistence/boundary_reset.rb +50 -0
  140. data/lib/smith/workflow/split_step_persistence/canonical_payload_digest.rb +55 -0
  141. data/lib/smith/workflow/split_step_persistence/checkpoint.rb +3 -5
  142. data/lib/smith/workflow/split_step_persistence/composite_branch_authorization.rb +99 -0
  143. data/lib/smith/workflow/split_step_persistence/composite_branch_effects.rb +41 -0
  144. data/lib/smith/workflow/split_step_persistence/composite_branch_execution.rb +95 -0
  145. data/lib/smith/workflow/split_step_persistence/composite_branch_outcome.rb +36 -0
  146. data/lib/smith/workflow/split_step_persistence/composite_execution.rb +39 -0
  147. data/lib/smith/workflow/split_step_persistence/composite_preparation.rb +57 -0
  148. data/lib/smith/workflow/split_step_persistence/composite_reduction_execution.rb +122 -0
  149. data/lib/smith/workflow/split_step_persistence/definition_boundary.rb +19 -0
  150. data/lib/smith/workflow/split_step_persistence/dispatch_boundary.rb +16 -0
  151. data/lib/smith/workflow/split_step_persistence/dispatch_claim.rb +118 -0
  152. data/lib/smith/workflow/split_step_persistence/dispatch_confirmation.rb +70 -0
  153. data/lib/smith/workflow/split_step_persistence/dispatch_verification.rb +35 -0
  154. data/lib/smith/workflow/split_step_persistence/execution.rb +20 -64
  155. data/lib/smith/workflow/split_step_persistence/execution_authorization.rb +109 -0
  156. data/lib/smith/workflow/split_step_persistence/execution_authorization_issuance.rb +57 -0
  157. data/lib/smith/workflow/split_step_persistence/execution_binding_collector.rb +95 -0
  158. data/lib/smith/workflow/split_step_persistence/execution_binding_snapshot.rb +109 -0
  159. data/lib/smith/workflow/split_step_persistence/execution_lifecycle.rb +96 -0
  160. data/lib/smith/workflow/split_step_persistence/execution_result_capture.rb +48 -0
  161. data/lib/smith/workflow/split_step_persistence/execution_verification.rb +77 -0
  162. data/lib/smith/workflow/split_step_persistence/execution_workflow_snapshot.rb +77 -0
  163. data/lib/smith/workflow/split_step_persistence/inheritance.rb +3 -1
  164. data/lib/smith/workflow/split_step_persistence/payloads.rb +7 -3
  165. data/lib/smith/workflow/split_step_persistence/preparation.rb +30 -2
  166. data/lib/smith/workflow/split_step_persistence/preparation_claim.rb +38 -12
  167. data/lib/smith/workflow/split_step_persistence/preparation_payload.rb +25 -0
  168. data/lib/smith/workflow/split_step_persistence/preparation_recovery.rb +10 -2
  169. data/lib/smith/workflow/split_step_persistence/recovery.rb +125 -0
  170. data/lib/smith/workflow/split_step_persistence/recovery_boundary.rb +56 -0
  171. data/lib/smith/workflow/split_step_persistence/recovery_class_methods.rb +14 -0
  172. data/lib/smith/workflow/split_step_persistence/replace_exact_signature.rb +46 -0
  173. data/lib/smith/workflow/split_step_persistence/restart_safe_adapter.rb +42 -0
  174. data/lib/smith/workflow/split_step_persistence/subclass_boundary.rb +66 -0
  175. data/lib/smith/workflow/split_step_persistence/transaction_identity.rb +45 -0
  176. data/lib/smith/workflow/split_step_persistence.rb +50 -0
  177. data/lib/smith/workflow/step_completion.rb +31 -0
  178. data/lib/smith/workflow/step_context.rb +46 -0
  179. data/lib/smith/workflow/string_snapshot.rb +25 -0
  180. data/lib/smith/workflow/thread_context_snapshot.rb +103 -0
  181. data/lib/smith/workflow/transition.rb +137 -133
  182. data/lib/smith/workflow/transition_actionability.rb +22 -0
  183. data/lib/smith/workflow.rb +64 -18
  184. data/lib/smith.rb +44 -2
  185. data/sig/smith.rbs +1 -0
  186. metadata +155 -19
data/sig/smith.rbs CHANGED
@@ -1,4 +1,5 @@
1
1
  module Smith
2
2
  VERSION: String
3
+ EXECUTION_SEMANTICS_VERSION: String
3
4
  # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smith-agents
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Ralak
@@ -10,47 +10,67 @@ cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: ruby_llm
13
+ name: bigdecimal
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '3.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '5'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '3.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '5'
32
+ - !ruby/object:Gem::Dependency
33
+ name: concurrent-ruby
14
34
  requirement: !ruby/object:Gem::Requirement
15
35
  requirements:
16
36
  - - "~>"
17
37
  - !ruby/object:Gem::Version
18
- version: '1.15'
38
+ version: '1.2'
19
39
  type: :runtime
20
40
  prerelease: false
21
41
  version_requirements: !ruby/object:Gem::Requirement
22
42
  requirements:
23
43
  - - "~>"
24
44
  - !ruby/object:Gem::Version
25
- version: '1.15'
45
+ version: '1.2'
26
46
  - !ruby/object:Gem::Dependency
27
- name: dry-types
47
+ name: dry-configurable
28
48
  requirement: !ruby/object:Gem::Requirement
29
49
  requirements:
30
50
  - - "~>"
31
51
  - !ruby/object:Gem::Version
32
- version: '1.7'
52
+ version: '1.0'
33
53
  type: :runtime
34
54
  prerelease: false
35
55
  version_requirements: !ruby/object:Gem::Requirement
36
56
  requirements:
37
57
  - - "~>"
38
58
  - !ruby/object:Gem::Version
39
- version: '1.7'
59
+ version: '1.0'
40
60
  - !ruby/object:Gem::Dependency
41
- name: dry-struct
61
+ name: dry-container
42
62
  requirement: !ruby/object:Gem::Requirement
43
63
  requirements:
44
64
  - - "~>"
45
65
  - !ruby/object:Gem::Version
46
- version: '1.6'
66
+ version: '0.11'
47
67
  type: :runtime
48
68
  prerelease: false
49
69
  version_requirements: !ruby/object:Gem::Requirement
50
70
  requirements:
51
71
  - - "~>"
52
72
  - !ruby/object:Gem::Version
53
- version: '1.6'
73
+ version: '0.11'
54
74
  - !ruby/object:Gem::Dependency
55
75
  name: dry-initializer
56
76
  requirement: !ruby/object:Gem::Requirement
@@ -66,47 +86,47 @@ dependencies:
66
86
  - !ruby/object:Gem::Version
67
87
  version: '3.1'
68
88
  - !ruby/object:Gem::Dependency
69
- name: dry-configurable
89
+ name: dry-struct
70
90
  requirement: !ruby/object:Gem::Requirement
71
91
  requirements:
72
92
  - - "~>"
73
93
  - !ruby/object:Gem::Version
74
- version: '1.0'
94
+ version: '1.6'
75
95
  type: :runtime
76
96
  prerelease: false
77
97
  version_requirements: !ruby/object:Gem::Requirement
78
98
  requirements:
79
99
  - - "~>"
80
100
  - !ruby/object:Gem::Version
81
- version: '1.0'
101
+ version: '1.6'
82
102
  - !ruby/object:Gem::Dependency
83
- name: dry-container
103
+ name: dry-types
84
104
  requirement: !ruby/object:Gem::Requirement
85
105
  requirements:
86
106
  - - "~>"
87
107
  - !ruby/object:Gem::Version
88
- version: '0.11'
108
+ version: '1.7'
89
109
  type: :runtime
90
110
  prerelease: false
91
111
  version_requirements: !ruby/object:Gem::Requirement
92
112
  requirements:
93
113
  - - "~>"
94
114
  - !ruby/object:Gem::Version
95
- version: '0.11'
115
+ version: '1.7'
96
116
  - !ruby/object:Gem::Dependency
97
- name: concurrent-ruby
117
+ name: ruby_llm
98
118
  requirement: !ruby/object:Gem::Requirement
99
119
  requirements:
100
120
  - - "~>"
101
121
  - !ruby/object:Gem::Version
102
- version: '1.2'
122
+ version: '1.15'
103
123
  type: :runtime
104
124
  prerelease: false
105
125
  version_requirements: !ruby/object:Gem::Requirement
106
126
  requirements:
107
127
  - - "~>"
108
128
  - !ruby/object:Gem::Version
109
- version: '1.2'
129
+ version: '1.15'
110
130
  description: Smith is a workflow-first multi-agent orchestration library built on
111
131
  RubyLLM. It provides state machine modeling, typed contracts, budget enforcement,
112
132
  guardrails, and observability for agent workflows.
@@ -135,14 +155,25 @@ files:
135
155
  - lib/smith/agent.rb
136
156
  - lib/smith/agent/lifecycle.rb
137
157
  - lib/smith/agent/registry.rb
158
+ - lib/smith/agent/registry/execution_binding_capture.rb
138
159
  - lib/smith/agent/registry/introspection.rb
160
+ - lib/smith/agent/registry/mutation_boundary.rb
139
161
  - lib/smith/agent/registry_binding.rb
140
162
  - lib/smith/artifacts.rb
141
163
  - lib/smith/artifacts/file.rb
142
164
  - lib/smith/artifacts/memory.rb
143
165
  - lib/smith/artifacts/scoped_store.rb
144
166
  - lib/smith/budget.rb
167
+ - lib/smith/budget/amount_contract.rb
168
+ - lib/smith/budget/amount_representation.rb
169
+ - lib/smith/budget/decimal_context.rb
145
170
  - lib/smith/budget/ledger.rb
171
+ - lib/smith/budget/ledger_publication.rb
172
+ - lib/smith/budget/ledger_state.rb
173
+ - lib/smith/budget/ledger_state_transition.rb
174
+ - lib/smith/budget/public_state_validator.rb
175
+ - lib/smith/budget/reservation.rb
176
+ - lib/smith/budget/reservation_contract.rb
146
177
  - lib/smith/cli.rb
147
178
  - lib/smith/context.rb
148
179
  - lib/smith/context/observation_masking.rb
@@ -164,6 +195,7 @@ files:
164
195
  - lib/smith/doctor/installer.rb
165
196
  - lib/smith/doctor/printer.rb
166
197
  - lib/smith/doctor/report.rb
198
+ - lib/smith/error.rb
167
199
  - lib/smith/errors.rb
168
200
  - lib/smith/event.rb
169
201
  - lib/smith/events.rb
@@ -171,6 +203,7 @@ files:
171
203
  - lib/smith/events/bus.rb
172
204
  - lib/smith/events/step_completed.rb
173
205
  - lib/smith/events/subscription.rb
206
+ - lib/smith/exponential_backoff.rb
174
207
  - lib/smith/guardrails.rb
175
208
  - lib/smith/guardrails/runner.rb
176
209
  - lib/smith/guardrails/url_verifier.rb
@@ -180,16 +213,22 @@ files:
180
213
  - lib/smith/models/profile.rb
181
214
  - lib/smith/persistence_adapters.rb
182
215
  - lib/smith/persistence_adapters/active_record_connection_errors.rb
216
+ - lib/smith/persistence_adapters/active_record_exact_predicate.rb
217
+ - lib/smith/persistence_adapters/active_record_exact_store.rb
218
+ - lib/smith/persistence_adapters/active_record_exact_write.rb
183
219
  - lib/smith/persistence_adapters/active_record_initial_write.rb
184
220
  - lib/smith/persistence_adapters/active_record_store.rb
185
221
  - lib/smith/persistence_adapters/cache_store.rb
186
222
  - lib/smith/persistence_adapters/memory.rb
187
223
  - lib/smith/persistence_adapters/payload_version.rb
188
224
  - lib/smith/persistence_adapters/rails_cache.rb
225
+ - lib/smith/persistence_adapters/redis_client_access.rb
226
+ - lib/smith/persistence_adapters/redis_exact_write.rb
189
227
  - lib/smith/persistence_adapters/redis_store.rb
190
228
  - lib/smith/persistence_adapters/redis_versioned_write.rb
191
229
  - lib/smith/persistence_adapters/retry.rb
192
230
  - lib/smith/persistence_adapters/version_expectation.rb
231
+ - lib/smith/persistence_payload_conflict.rb
193
232
  - lib/smith/pricing.rb
194
233
  - lib/smith/providers/openai/responses.rb
195
234
  - lib/smith/providers/openai/routing.rb
@@ -218,8 +257,42 @@ files:
218
257
  - lib/smith/workflow/branch_env.rb
219
258
  - lib/smith/workflow/budget_integration.rb
220
259
  - lib/smith/workflow/claim.rb
260
+ - lib/smith/workflow/composite/branch.rb
261
+ - lib/smith/workflow/composite/branch_budget_contract.rb
262
+ - lib/smith/workflow/composite/branch_contract.rb
263
+ - lib/smith/workflow/composite/branch_execution.rb
264
+ - lib/smith/workflow/composite/branch_failure.rb
265
+ - lib/smith/workflow/composite/branch_outcome.rb
266
+ - lib/smith/workflow/composite/budget_allocator.rb
267
+ - lib/smith/workflow/composite/budget_math.rb
268
+ - lib/smith/workflow/composite/contract.rb
269
+ - lib/smith/workflow/composite/effects.rb
270
+ - lib/smith/workflow/composite/effects_application.rb
271
+ - lib/smith/workflow/composite/effects_baseline.rb
272
+ - lib/smith/workflow/composite/effects_preflight.rb
273
+ - lib/smith/workflow/composite/encoded_value_budget.rb
274
+ - lib/smith/workflow/composite/enums.rb
275
+ - lib/smith/workflow/composite/error.rb
276
+ - lib/smith/workflow/composite/error_evidence.rb
277
+ - lib/smith/workflow/composite/execution_contract.rb
278
+ - lib/smith/workflow/composite/fanout_branch_contract.rb
279
+ - lib/smith/workflow/composite/input.rb
280
+ - lib/smith/workflow/composite/outcome_accumulator.rb
281
+ - lib/smith/workflow/composite/outcome_set.rb
282
+ - lib/smith/workflow/composite/payload.rb
283
+ - lib/smith/workflow/composite/payload_digest.rb
284
+ - lib/smith/workflow/composite/plan.rb
285
+ - lib/smith/workflow/composite/plan_integrity.rb
286
+ - lib/smith/workflow/composite/planner.rb
287
+ - lib/smith/workflow/composite/preparation.rb
288
+ - lib/smith/workflow/composite/reducer.rb
289
+ - lib/smith/workflow/composite/reduction.rb
290
+ - lib/smith/workflow/composite/value_budget.rb
291
+ - lib/smith/workflow/composite_branch_execution_authorization.rb
221
292
  - lib/smith/workflow/data_volume_policy.rb
222
293
  - lib/smith/workflow/deadline_enforcement.rb
294
+ - lib/smith/workflow/definition_identity.rb
295
+ - lib/smith/workflow/definition_identity/class_methods.rb
223
296
  - lib/smith/workflow/deterministic_execution.rb
224
297
  - lib/smith/workflow/deterministic_step.rb
225
298
  - lib/smith/workflow/dsl.rb
@@ -227,12 +300,17 @@ files:
227
300
  - lib/smith/workflow/evaluator_optimizer.rb
228
301
  - lib/smith/workflow/event_integration.rb
229
302
  - lib/smith/workflow/execution.rb
303
+ - lib/smith/workflow/execution_binding_resolution.rb
230
304
  - lib/smith/workflow/execution_frame.rb
305
+ - lib/smith/workflow/execution_result_snapshot.rb
231
306
  - lib/smith/workflow/fanout_execution.rb
232
307
  - lib/smith/workflow/graph.rb
233
308
  - lib/smith/workflow/graph/contract_helpers.rb
234
309
  - lib/smith/workflow/graph/diagnostic.rb
310
+ - lib/smith/workflow/graph/diagnostic_path.rb
311
+ - lib/smith/workflow/graph/execution_successors.rb
235
312
  - lib/smith/workflow/graph/fanout_contract.rb
313
+ - lib/smith/workflow/graph/identifier_projection.rb
236
314
  - lib/smith/workflow/graph/metrics.rb
237
315
  - lib/smith/workflow/graph/nested_readiness_diagnostics.rb
238
316
  - lib/smith/workflow/graph/optimization_contract.rb
@@ -241,18 +319,30 @@ files:
241
319
  - lib/smith/workflow/graph/reachability_diagnostics.rb
242
320
  - lib/smith/workflow/graph/reference.rb
243
321
  - lib/smith/workflow/graph/report.rb
322
+ - lib/smith/workflow/graph/retry_policy_diagnostic.rb
244
323
  - lib/smith/workflow/graph/runtime_binding_diagnostic_builder.rb
245
324
  - lib/smith/workflow/graph/runtime_binding_diagnostics.rb
246
325
  - lib/smith/workflow/graph/runtime_readiness.rb
247
326
  - lib/smith/workflow/graph/runtime_readiness_metrics.rb
248
327
  - lib/smith/workflow/graph/runtime_readiness_report.rb
328
+ - lib/smith/workflow/graph/runtime_readiness_report_builder.rb
329
+ - lib/smith/workflow/graph/runtime_readiness_traversal.rb
249
330
  - lib/smith/workflow/graph/state_diagnostics.rb
250
331
  - lib/smith/workflow/graph/targets.rb
332
+ - lib/smith/workflow/graph/transition_contract.rb
333
+ - lib/smith/workflow/graph/transition_contract_attributes.rb
334
+ - lib/smith/workflow/graph/transition_contract_configurations.rb
251
335
  - lib/smith/workflow/graph/transition_diagnostics.rb
336
+ - lib/smith/workflow/graph/transition_optimization_configuration.rb
252
337
  - lib/smith/workflow/graph/transition_snapshot.rb
253
338
  - lib/smith/workflow/graph/validator.rb
254
339
  - lib/smith/workflow/graph_dsl.rb
255
340
  - lib/smith/workflow/guardrail_integration.rb
341
+ - lib/smith/workflow/identifier.rb
342
+ - lib/smith/workflow/message_admission.rb
343
+ - lib/smith/workflow/message_admission_boundary.rb
344
+ - lib/smith/workflow/message_batch.rb
345
+ - lib/smith/workflow/message_value_normalizer.rb
256
346
  - lib/smith/workflow/nested_execution.rb
257
347
  - lib/smith/workflow/optimization_state.rb
258
348
  - lib/smith/workflow/orchestration_state.rb
@@ -260,29 +350,75 @@ files:
260
350
  - lib/smith/workflow/parallel.rb
261
351
  - lib/smith/workflow/parallel/cancellation.rb
262
352
  - lib/smith/workflow/parallel/cancellation_signal.rb
353
+ - lib/smith/workflow/parallel/execution_context.rb
354
+ - lib/smith/workflow/parallel/nested_execution.rb
355
+ - lib/smith/workflow/parallel/root_execution.rb
356
+ - lib/smith/workflow/parallel_agent_binding.rb
263
357
  - lib/smith/workflow/parallel_execution.rb
264
358
  - lib/smith/workflow/persistence.rb
265
359
  - lib/smith/workflow/pipeline.rb
360
+ - lib/smith/workflow/prepared_branch_execution.rb
361
+ - lib/smith/workflow/prepared_step.rb
362
+ - lib/smith/workflow/prepared_step_dispatch.rb
363
+ - lib/smith/workflow/prepared_step_execution_authorization.rb
364
+ - lib/smith/workflow/prepared_step_execution_result.rb
365
+ - lib/smith/workflow/prepared_step_execution_scope.rb
366
+ - lib/smith/workflow/prepared_step_recovery.rb
367
+ - lib/smith/workflow/process_local.rb
266
368
  - lib/smith/workflow/retry_execution.rb
267
369
  - lib/smith/workflow/router.rb
268
370
  - lib/smith/workflow/run_result.rb
269
371
  - lib/smith/workflow/split_step_persistence.rb
270
372
  - lib/smith/workflow/split_step_persistence/boundary.rb
373
+ - lib/smith/workflow/split_step_persistence/boundary_reset.rb
374
+ - lib/smith/workflow/split_step_persistence/canonical_payload_digest.rb
271
375
  - lib/smith/workflow/split_step_persistence/checkpoint.rb
272
376
  - lib/smith/workflow/split_step_persistence/checkpoint_state.rb
377
+ - lib/smith/workflow/split_step_persistence/composite_branch_authorization.rb
378
+ - lib/smith/workflow/split_step_persistence/composite_branch_effects.rb
379
+ - lib/smith/workflow/split_step_persistence/composite_branch_execution.rb
380
+ - lib/smith/workflow/split_step_persistence/composite_branch_outcome.rb
381
+ - lib/smith/workflow/split_step_persistence/composite_execution.rb
382
+ - lib/smith/workflow/split_step_persistence/composite_preparation.rb
383
+ - lib/smith/workflow/split_step_persistence/composite_reduction_execution.rb
384
+ - lib/smith/workflow/split_step_persistence/definition_boundary.rb
385
+ - lib/smith/workflow/split_step_persistence/dispatch_boundary.rb
386
+ - lib/smith/workflow/split_step_persistence/dispatch_claim.rb
387
+ - lib/smith/workflow/split_step_persistence/dispatch_confirmation.rb
388
+ - lib/smith/workflow/split_step_persistence/dispatch_verification.rb
273
389
  - lib/smith/workflow/split_step_persistence/execution.rb
390
+ - lib/smith/workflow/split_step_persistence/execution_authorization.rb
391
+ - lib/smith/workflow/split_step_persistence/execution_authorization_issuance.rb
392
+ - lib/smith/workflow/split_step_persistence/execution_binding_collector.rb
393
+ - lib/smith/workflow/split_step_persistence/execution_binding_snapshot.rb
394
+ - lib/smith/workflow/split_step_persistence/execution_lifecycle.rb
395
+ - lib/smith/workflow/split_step_persistence/execution_result_capture.rb
396
+ - lib/smith/workflow/split_step_persistence/execution_verification.rb
397
+ - lib/smith/workflow/split_step_persistence/execution_workflow_snapshot.rb
274
398
  - lib/smith/workflow/split_step_persistence/inheritance.rb
275
399
  - lib/smith/workflow/split_step_persistence/payloads.rb
276
400
  - lib/smith/workflow/split_step_persistence/preparation.rb
277
401
  - lib/smith/workflow/split_step_persistence/preparation_claim.rb
402
+ - lib/smith/workflow/split_step_persistence/preparation_payload.rb
278
403
  - lib/smith/workflow/split_step_persistence/preparation_recovery.rb
404
+ - lib/smith/workflow/split_step_persistence/recovery.rb
405
+ - lib/smith/workflow/split_step_persistence/recovery_boundary.rb
406
+ - lib/smith/workflow/split_step_persistence/recovery_class_methods.rb
407
+ - lib/smith/workflow/split_step_persistence/replace_exact_signature.rb
408
+ - lib/smith/workflow/split_step_persistence/restart_safe_adapter.rb
279
409
  - lib/smith/workflow/split_step_persistence/state_snapshot.rb
280
410
  - lib/smith/workflow/split_step_persistence/subclass_boundary.rb
411
+ - lib/smith/workflow/split_step_persistence/transaction_identity.rb
281
412
  - lib/smith/workflow/split_step_persistence/transition_contract.rb
282
413
  - lib/smith/workflow/split_step_persistence/transition_contract_freezer.rb
283
414
  - lib/smith/workflow/split_step_persistence/transition_contract_signature.rb
284
415
  - lib/smith/workflow/split_step_persistence/transition_contract_structured_values.rb
416
+ - lib/smith/workflow/step_completion.rb
417
+ - lib/smith/workflow/step_context.rb
418
+ - lib/smith/workflow/string_snapshot.rb
419
+ - lib/smith/workflow/thread_context_snapshot.rb
285
420
  - lib/smith/workflow/transition.rb
421
+ - lib/smith/workflow/transition_actionability.rb
286
422
  - lib/smith/workflow/usage_entry.rb
287
423
  - lib/smith/workflow/worker_execution.rb
288
424
  - script/profile_tool_results.rb