phronomy 0.27.0 → 0.29.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 (517) hide show
  1. checksums.yaml +4 -4
  2. data/.mutant.yml +9 -9
  3. data/CHANGELOG.md +52 -0
  4. data/CONTRIBUTING.md +8 -8
  5. data/README.md +28 -7
  6. data/benchmark/bench_agent_invoke.rb +25 -50
  7. data/benchmark/bench_context_assembler.rb +14 -11
  8. data/benchmark/bench_regression.rb +1 -1
  9. data/benchmark/bench_tool_schema.rb +1 -1
  10. data/docs/application-recipes.md +229 -0
  11. data/docs/architecture/agent-chat-and-state-ownership.md +7 -1
  12. data/docs/architecture/agent-transition-ownership.md +13 -89
  13. data/docs/architecture/backend-groups.md +152 -0
  14. data/docs/architecture/before-llm-input.md +3 -3
  15. data/docs/architecture/context-management.md +1 -1
  16. data/docs/architecture/dx05-agent-scope.md +119 -0
  17. data/docs/architecture/dx05-workflow-task-state.md +134 -0
  18. data/docs/architecture/error-api-review.md +245 -0
  19. data/docs/architecture/execution-abstraction-review.md +88 -0
  20. data/docs/architecture/execution-boundaries.md +28 -0
  21. data/docs/architecture/execution-metadata-and-values.md +6 -0
  22. data/docs/architecture/multi-agent-handoff.md +6 -5
  23. data/docs/architecture/persistence.md +27 -9
  24. data/docs/architecture/r8-unit1.md +104 -0
  25. data/docs/architecture/r8-unit10.md +72 -0
  26. data/docs/architecture/r8-unit11.md +71 -0
  27. data/docs/architecture/r8-unit12.md +67 -0
  28. data/docs/architecture/r8-unit13.md +61 -0
  29. data/docs/architecture/r8-unit14.md +72 -0
  30. data/docs/architecture/r8-unit15.md +65 -0
  31. data/docs/architecture/r8-unit16.md +54 -0
  32. data/docs/architecture/r8-unit17.md +73 -0
  33. data/docs/architecture/r8-unit18.md +92 -0
  34. data/docs/architecture/r8-unit19.md +61 -0
  35. data/docs/architecture/r8-unit2.md +55 -0
  36. data/docs/architecture/r8-unit20.md +51 -0
  37. data/docs/architecture/r8-unit21.md +79 -0
  38. data/docs/architecture/r8-unit22.md +74 -0
  39. data/docs/architecture/r8-unit23.md +81 -0
  40. data/docs/architecture/r8-unit3.md +130 -0
  41. data/docs/architecture/r8-unit4.md +79 -0
  42. data/docs/architecture/r8-unit5.md +115 -0
  43. data/docs/architecture/r8-unit6.md +71 -0
  44. data/docs/architecture/r8-unit7.md +70 -0
  45. data/docs/architecture/r8-unit8.md +78 -0
  46. data/docs/architecture/r8-unit9.md +73 -0
  47. data/docs/architecture/refactoring-closure.md +10 -1
  48. data/docs/architecture/remaining-refactoring-plan.md +16 -0
  49. data/docs/architecture/storage-execution-boundaries.md +54 -0
  50. data/docs/architecture/tool-schema-recording-gap.md +6 -0
  51. data/docs/architecture/tracing.md +1 -1
  52. data/docs/architecture/workflow-terminal-ownership-design.md +2 -2
  53. data/docs/architecture.md +24 -11
  54. data/docs/decisions/015-tool-public-facade-and-rbs-boundary.md +3 -3
  55. data/docs/decisions/027-llm-adapter-provider-boundary.md +2 -0
  56. data/docs/decisions/030-agent-handoff-domain-and-durable-responsibility.md +2 -0
  57. data/docs/decisions/031-durable-multi-agent-coordination.md +2 -0
  58. data/docs/decisions/032-storage-backend-composition.md +5 -0
  59. data/docs/decisions/034-handoff-runner-coordination-ownership.md +2 -0
  60. data/docs/decisions/035-tool-executor-capability-ownership.md +1 -1
  61. data/docs/decisions/038-responsibility-based-source-layout.md +14 -0
  62. data/docs/decisions/039-runtime-configuration-lifecycle-ownership.md +8 -0
  63. data/docs/decisions/040-configuration-default-composition.md +12 -1
  64. data/docs/decisions/045-worker-input-restriction-ownership.md +4 -0
  65. data/docs/decisions/051-execution-outcome-worker-ownership.md +2 -0
  66. data/docs/decisions/056-workflow-terminal-policy-ownership.md +1 -1
  67. data/docs/decisions/058-neutral-storage-primitives.md +5 -0
  68. data/docs/decisions/059-backend-contracts-and-async-clients.md +74 -0
  69. data/docs/decisions/060-runtime-settings-and-application-configuration.md +86 -0
  70. data/docs/decisions/061-persistence-failure-contracts.md +89 -0
  71. data/docs/decisions/062-content-store-service.md +52 -0
  72. data/docs/decisions/063-execution-contracts-and-services.md +88 -0
  73. data/docs/decisions/064-agent-execution-and-multi-agent-responsibility.md +36 -0
  74. data/docs/decisions/065-vector-and-embeddings-common-operations.md +38 -0
  75. data/docs/decisions/066-llm-and-tool-operation-contracts.md +20 -0
  76. data/docs/decisions/067-agent-progress-and-engine-connection.md +29 -0
  77. data/docs/decisions/068-agent-tool-child-progress-and-tool-operation.md +36 -0
  78. data/docs/decisions/README.md +18 -1
  79. data/docs/execution-boundaries-preview.md +45 -0
  80. data/docs/failure-reason-codes.md +45 -0
  81. data/docs/features.md +12 -4
  82. data/docs/getting-started.md +52 -48
  83. data/docs/migrations/0.22.md +2 -2
  84. data/docs/migrations/durable-semantic-coordination-v2.md +2 -0
  85. data/docs/migrations/handoff-runner-multi-agent.md +2 -0
  86. data/docs/migrations/persistence-failure-contracts.md +67 -0
  87. data/docs/migrations/r8-unit10.md +36 -0
  88. data/docs/migrations/r8-unit11.md +33 -0
  89. data/docs/migrations/r8-unit12.md +31 -0
  90. data/docs/migrations/r8-unit13.md +36 -0
  91. data/docs/migrations/r8-unit14.md +31 -0
  92. data/docs/migrations/r8-unit15.md +31 -0
  93. data/docs/migrations/r8-unit16.md +26 -0
  94. data/docs/migrations/r8-unit17.md +28 -0
  95. data/docs/migrations/r8-unit18.md +29 -0
  96. data/docs/migrations/r8-unit19.md +28 -0
  97. data/docs/migrations/r8-unit20.md +24 -0
  98. data/docs/migrations/r8-unit21.md +28 -0
  99. data/docs/migrations/r8-unit22.md +29 -0
  100. data/docs/migrations/r8-unit23.md +20 -0
  101. data/docs/migrations/r8-unit4.md +67 -0
  102. data/docs/migrations/r8-unit5.md +75 -0
  103. data/docs/migrations/r8-unit6.md +109 -0
  104. data/docs/migrations/r8-unit7.md +31 -0
  105. data/docs/migrations/r8-unit8.md +33 -0
  106. data/docs/migrations/r8-unit9.md +28 -0
  107. data/docs/migrations/storage-async-client.md +103 -0
  108. data/docs/migrations/vector-async-clients.md +110 -0
  109. data/docs/ordered-event-delivery.md +54 -0
  110. data/docs/persistence-backends.md +38 -21
  111. data/docs/runtime-and-concurrency.md +26 -1
  112. data/docs/workflow-completion.md +92 -0
  113. data/gemfiles/http_minimum.gemfile +5 -0
  114. data/lib/phronomy/agent/admission.rb +78 -0
  115. data/lib/phronomy/agent/{lifecycle_contract/agent_already_exists_error.rb → agent_already_exists_error.rb} +1 -1
  116. data/lib/phronomy/agent/{lifecycle_contract/agent_busy_error.rb → agent_busy_error.rb} +1 -1
  117. data/lib/phronomy/agent/agent_not_found_error.rb +16 -0
  118. data/lib/phronomy/agent/{lifecycle_contract/agent_purged_error.rb → agent_purged_error.rb} +1 -1
  119. data/lib/phronomy/agent/agent_unloaded_error.rb +14 -0
  120. data/lib/phronomy/agent/api/agent.rb +13 -0
  121. data/lib/phronomy/{recovery → agent/api}/execution_rehydration_required_error.rb +1 -1
  122. data/lib/phronomy/agent/async_event_api.rb +132 -103
  123. data/lib/phronomy/agent/base.rb +146 -113
  124. data/lib/phronomy/agent/before_llm_input.rb +70 -0
  125. data/lib/phronomy/agent/composition/run_once.rb +1 -1
  126. data/lib/phronomy/agent/{context_assembly/context_candidate_resolver.rb → context_candidate_resolver.rb} +2 -2
  127. data/lib/phronomy/agent/{context_assembly/context_assembler.rb → context_preparation.rb} +35 -221
  128. data/lib/phronomy/agent/control_request.rb +21 -0
  129. data/lib/phronomy/agent/execution/agent_execution.rb +1 -1
  130. data/lib/phronomy/agent/execution/agent_invocation.rb +27 -53
  131. data/lib/phronomy/agent/execution/approval_resume_commit.rb +1 -1
  132. data/lib/phronomy/agent/execution/dispatch_preparation.rb +17 -127
  133. data/lib/phronomy/agent/execution/exact_execution.rb +55 -32
  134. data/lib/phronomy/agent/execution/execution_cancellation.rb +8 -4
  135. data/lib/phronomy/agent/execution/execution_coordinator.rb +229 -407
  136. data/lib/phronomy/agent/execution/execution_metadata.rb +1 -0
  137. data/lib/phronomy/agent/execution/execution_outcome_committer.rb +71 -127
  138. data/lib/phronomy/agent/execution/execution_registry.rb +6 -2
  139. data/lib/phronomy/agent/execution/execution_session_runner.rb +22 -27
  140. data/lib/phronomy/agent/execution/initial_preparation.rb +19 -120
  141. data/lib/phronomy/agent/execution/{agent_invocation_session_builder.rb → invocation_actions.rb} +54 -194
  142. data/lib/phronomy/agent/execution/invocation_transitions.rb +39 -1
  143. data/lib/phronomy/agent/execution/runtime_record_encoder.rb +8 -11
  144. data/lib/phronomy/agent/execution_change.rb +161 -0
  145. data/lib/phronomy/agent/execution_environment.rb +36 -0
  146. data/lib/phronomy/agent/execution_extension_state.rb +21 -0
  147. data/lib/phronomy/agent/execution_observation.rb +35 -0
  148. data/lib/phronomy/agent/filterable.rb +188 -0
  149. data/lib/phronomy/agent/handoff/{handoff_context.rb → transfer_context.rb} +4 -4
  150. data/lib/phronomy/agent/handoff/{handoff_projection.rb → transfer_projection.rb} +14 -33
  151. data/lib/phronomy/{llm_contract/transport_error.rb → agent/handoff_error.rb} +1 -1
  152. data/lib/phronomy/agent/journal/journal_projection.rb +1 -1
  153. data/lib/phronomy/agent/knowledge_item.rb +13 -0
  154. data/lib/phronomy/agent/lifecycle/agent_root.rb +1 -1
  155. data/lib/phronomy/agent/lifecycle/lifetime_api.rb +76 -0
  156. data/lib/phronomy/agent/lifecycle/operation_lease.rb +33 -0
  157. data/lib/phronomy/agent/lifecycle/operation_result.rb +53 -0
  158. data/lib/phronomy/agent/lifecycle/ownership_registry.rb +117 -31
  159. data/lib/phronomy/agent/lifecycle/scope.rb +198 -0
  160. data/lib/phronomy/agent/lifecycle/scope_cleanup_error.rb +19 -0
  161. data/lib/phronomy/agent/lifecycle/unload_transition.rb +78 -0
  162. data/lib/phronomy/agent/persistence/agent_repository.rb +29 -21
  163. data/lib/phronomy/agent/persistence/cancellation_repository.rb +51 -0
  164. data/lib/phronomy/agent/persistence/codec.rb +1 -21
  165. data/lib/phronomy/agent/persistence/execution_repository.rb +57 -41
  166. data/lib/phronomy/agent/persistence/journal_repository.rb +27 -18
  167. data/lib/phronomy/agent/persistence/records.rb +33 -0
  168. data/lib/phronomy/agent/persistence/retention_repository.rb +70 -0
  169. data/lib/phronomy/agent/persistence/storage_schema.rb +7 -2
  170. data/lib/phronomy/agent/persistence/watermark.rb +13 -11
  171. data/lib/phronomy/agent/recovery/invocation_restorer.rb +13 -21
  172. data/lib/phronomy/agent/recovery/recovery_coordinator/continuation.rb +13 -12
  173. data/lib/phronomy/agent/recovery/recovery_coordinator/installation.rb +34 -34
  174. data/lib/phronomy/agent/recovery/recovery_coordinator/resolution.rb +33 -39
  175. data/lib/phronomy/agent/recovery/recovery_coordinator.rb +28 -25
  176. data/lib/phronomy/agent/recovery/recovery_rules.rb +119 -0
  177. data/lib/phronomy/agent/recovery/recovery_support.rb +10 -19
  178. data/lib/phronomy/agent/reserved_execution.rb +16 -0
  179. data/lib/phronomy/agent/retention.rb +17 -0
  180. data/lib/phronomy/agent/runtime_binding/engine_environment.rb +60 -0
  181. data/lib/phronomy/agent/runtime_binding/engine_session_builder.rb +34 -0
  182. data/lib/phronomy/agent/runtime_binding/phase_machine_builder.rb +64 -0
  183. data/lib/phronomy/agent/runtime_binding/tool_session_builder.rb +34 -0
  184. data/lib/phronomy/agent/{context_assembly/ruby_llm_materializer.rb → runtime_input.rb} +18 -35
  185. data/lib/phronomy/agent/{context_assembly/saved_context_reader.rb → saved_context_reader.rb} +6 -4
  186. data/lib/phronomy/agent/settings.rb +47 -0
  187. data/lib/phronomy/agent/{context_assembly/state_writer.rb → state_writer.rb} +4 -3
  188. data/lib/phronomy/agent/store.rb +253 -0
  189. data/lib/phronomy/agent/{lifecycle_contract/stream_callback_error.rb → stream_callback_error.rb} +3 -3
  190. data/lib/phronomy/agent/tool_execution/tool_binding.rb +4 -64
  191. data/lib/phronomy/agent/tool_execution/tool_invocation.rb +50 -219
  192. data/lib/phronomy/agent/tool_execution/tool_invocation_actions.rb +107 -0
  193. data/lib/phronomy/agent/tool_execution/tool_invocation_transitions.rb +70 -0
  194. data/lib/phronomy/common/error.rb +65 -1
  195. data/lib/phronomy/configuration/runtime_settings.rb +49 -0
  196. data/lib/phronomy/content_store/base.rb +7 -2
  197. data/lib/phronomy/content_store/storage_schema.rb +1 -0
  198. data/lib/phronomy/content_store/stored_contents.rb +2 -1
  199. data/lib/phronomy/context/assembly.rb +195 -0
  200. data/lib/phronomy/{llm_contract/context_budget_exceeded_error.rb → context/budget_exceeded_error.rb} +3 -1
  201. data/lib/phronomy/context/candidate.rb +51 -0
  202. data/lib/phronomy/context/constraint.rb +47 -0
  203. data/lib/phronomy/{agent/context_contract → context}/context_plan.rb +1 -1
  204. data/lib/phronomy/{agent/context_contract → context}/context_plan_validator.rb +3 -3
  205. data/lib/phronomy/{agent/context_contract → context}/context_policy.rb +1 -1
  206. data/lib/phronomy/{agent/context_contract → context}/context_policy_input.rb +1 -1
  207. data/lib/phronomy/{agent/context_assembly → context}/context_policy_input_builder.rb +1 -1
  208. data/lib/phronomy/context/default_policy.rb +140 -0
  209. data/lib/phronomy/context/final_budget_validator.rb +33 -0
  210. data/lib/phronomy/{agent/context_contract → context}/llm_input_build_context.rb +1 -1
  211. data/lib/phronomy/{agent/context_contract → context}/llm_input_manifest.rb +19 -19
  212. data/lib/phronomy/{agent/context_contract → context}/llm_input_patch.rb +1 -1
  213. data/lib/phronomy/context/manifest_error.rb +10 -0
  214. data/lib/phronomy/context/prompt_template.rb +98 -0
  215. data/lib/phronomy/{vector_store → documents}/loader/base.rb +1 -1
  216. data/lib/phronomy/{vector_store → documents}/loader/csv_loader.rb +2 -2
  217. data/lib/phronomy/{vector_store → documents}/loader/markdown_loader.rb +3 -3
  218. data/lib/phronomy/{vector_store → documents}/loader/plain_text_loader.rb +2 -2
  219. data/lib/phronomy/{vector_store → documents}/splitter/base.rb +1 -1
  220. data/lib/phronomy/{vector_store → documents}/splitter/fixed_size_splitter.rb +2 -2
  221. data/lib/phronomy/{vector_store → documents}/splitter/recursive_splitter.rb +2 -2
  222. data/lib/phronomy/embeddings/async/async_client.rb +44 -0
  223. data/lib/phronomy/embeddings/authentication_error.rb +11 -0
  224. data/lib/phronomy/embeddings/backends/ruby_llm_embeddings.rb +52 -0
  225. data/lib/phronomy/embeddings/base.rb +43 -0
  226. data/lib/phronomy/embeddings/invalid_result_error.rb +11 -0
  227. data/lib/phronomy/embeddings/rate_limit_error.rb +11 -0
  228. data/lib/phronomy/embeddings/transport_error.rb +11 -0
  229. data/lib/phronomy/engine/concurrency/offload_pool.rb +36 -21
  230. data/lib/phronomy/engine/concurrency/pool_registry.rb +47 -12
  231. data/lib/phronomy/engine/diagnostics.rb +1 -1
  232. data/lib/phronomy/engine/event_loop.rb +7 -7
  233. data/lib/phronomy/engine/execution_binding.rb +23 -0
  234. data/lib/phronomy/engine/execution_receiver_binding.rb +43 -0
  235. data/lib/phronomy/engine/fsm_protocol.rb +1 -6
  236. data/lib/phronomy/engine/fsm_session.rb +3 -3
  237. data/lib/phronomy/engine/metrics.rb +16 -14
  238. data/lib/phronomy/engine/runtime/timer_queue.rb +1 -1
  239. data/lib/phronomy/engine/runtime.rb +25 -12
  240. data/lib/phronomy/engine/terminal_decision.rb +7 -0
  241. data/lib/phronomy/execution/async_operation.rb +41 -0
  242. data/lib/phronomy/{engine → execution}/blocking.rb +2 -2
  243. data/lib/phronomy/{engine → execution}/concurrency/cancellation_token.rb +1 -1
  244. data/lib/phronomy/{engine → execution}/concurrency/deadline.rb +0 -17
  245. data/lib/phronomy/{engine → execution}/concurrency/physical_completion_task.rb +1 -1
  246. data/lib/phronomy/{engine → execution}/concurrency/result_collector.rb +1 -1
  247. data/lib/phronomy/{engine → execution}/concurrency/result_composition.rb +33 -12
  248. data/lib/phronomy/{engine/concurrency/subscriptions.rb → execution/concurrency/result_subscriptions.rb} +14 -18
  249. data/lib/phronomy/execution/concurrency/subscriptions.rb +25 -0
  250. data/lib/phronomy/{engine → execution}/execution.rb +61 -27
  251. data/lib/phronomy/{engine → execution}/execution_cancellation_error.rb +2 -2
  252. data/lib/phronomy/execution/execution_receiver.rb +78 -0
  253. data/lib/phronomy/execution/execution_scope_state.rb +35 -0
  254. data/lib/phronomy/{engine → execution}/execution_timeout_error.rb +2 -2
  255. data/lib/phronomy/{engine → execution}/invocation_context.rb +0 -15
  256. data/lib/phronomy/execution/invocation_controls.rb +73 -0
  257. data/lib/phronomy/execution/runnable.rb +24 -0
  258. data/lib/phronomy/{engine → execution}/task_result.rb +9 -4
  259. data/lib/phronomy/execution/wait_policy.rb +24 -0
  260. data/lib/phronomy/filter/{contract/filter_block_error.rb → filter_block_error.rb} +3 -3
  261. data/lib/phronomy/generation/generator_verifier/agent_operation.rb +65 -0
  262. data/lib/phronomy/generation/generator_verifier/default_parser.rb +27 -0
  263. data/lib/phronomy/generation/generator_verifier/workflow_builder.rb +2 -2
  264. data/lib/phronomy/generation/generator_verifier.rb +7 -7
  265. data/lib/phronomy/generation/low_confidence_error.rb +2 -2
  266. data/lib/phronomy/integrations/ordered_event_delivery.rb +208 -0
  267. data/lib/phronomy/llm_adapter/async/async_client.rb +47 -0
  268. data/lib/phronomy/{llm_contract → llm_adapter}/authentication_error.rb +3 -1
  269. data/lib/phronomy/llm_adapter/backends/ruby_llm.rb +183 -0
  270. data/lib/phronomy/llm_adapter/base.rb +49 -68
  271. data/lib/phronomy/{llm_contract → llm_adapter}/context_length_error.rb +3 -1
  272. data/lib/phronomy/llm_adapter/invalid_result_error.rb +10 -0
  273. data/lib/phronomy/llm_adapter/message.rb +62 -0
  274. data/lib/phronomy/{llm_contract → llm_adapter}/rate_limit_error.rb +3 -1
  275. data/lib/phronomy/llm_adapter/request.rb +79 -0
  276. data/lib/phronomy/llm_adapter/response.rb +36 -0
  277. data/lib/phronomy/llm_adapter/stream_chunk.rb +18 -0
  278. data/lib/phronomy/llm_adapter/token_usage.rb +64 -0
  279. data/lib/phronomy/llm_adapter/transport_error.rb +9 -0
  280. data/lib/phronomy/llm_adapter.rb +3 -16
  281. data/lib/phronomy/multi_agent/admission_registry.rb +1 -8
  282. data/lib/phronomy/multi_agent/durable_subagent_coordinator.rb +108 -84
  283. data/lib/phronomy/multi_agent/execution_environment.rb +29 -0
  284. data/lib/phronomy/{agent/handoff → multi_agent}/handoff.rb +2 -2
  285. data/lib/phronomy/{agent/handoff → multi_agent}/handoff_capability_factory.rb +21 -2
  286. data/lib/phronomy/multi_agent/handoff_participant.rb +79 -0
  287. data/lib/phronomy/{agent/handoff → multi_agent}/handoff_policy.rb +1 -1
  288. data/lib/phronomy/multi_agent/handoff_runner.rb +77 -100
  289. data/lib/phronomy/{agent/handoff → multi_agent}/handoff_state.rb +1 -1
  290. data/lib/phronomy/multi_agent/orchestrator.rb +61 -75
  291. data/lib/phronomy/multi_agent/persistence/codec.rb +20 -0
  292. data/lib/phronomy/multi_agent/persistence/handoff_state_repository.rb +77 -0
  293. data/lib/phronomy/multi_agent/persistence/records.rb +27 -0
  294. data/lib/phronomy/multi_agent/persistence/storage_schema.rb +21 -0
  295. data/lib/phronomy/multi_agent/persistence/team_execution_repository.rb +60 -44
  296. data/lib/phronomy/multi_agent/persistence/team_repository.rb +29 -21
  297. data/lib/phronomy/multi_agent/reserved_child_admission.rb +88 -0
  298. data/lib/phronomy/multi_agent/runtime_binding/engine_environment.rb +35 -0
  299. data/lib/phronomy/multi_agent/shared_state.rb +2 -2
  300. data/lib/phronomy/multi_agent/store.rb +156 -0
  301. data/lib/phronomy/multi_agent/team_busy_error.rb +18 -0
  302. data/lib/phronomy/multi_agent/team_coordinator.rb +99 -77
  303. data/lib/phronomy/multi_agent/team_not_found_error.rb +18 -0
  304. data/lib/phronomy/multi_agent/team_ownership_registry.rb +2 -12
  305. data/lib/phronomy/output_parser/parse_error.rb +7 -0
  306. data/lib/phronomy/persistence/content_repository.rb +26 -0
  307. data/lib/phronomy/persistence/errors.rb +16 -0
  308. data/lib/phronomy/persistence/migration/initial_format_migration.rb +2 -2
  309. data/lib/phronomy/persistence/persistence.rb +23 -0
  310. data/lib/phronomy/persistence/save_outcome.rb +24 -0
  311. data/lib/phronomy/persistence/snapshot_comparison.rb +81 -0
  312. data/lib/phronomy/persistence/storage_boundary.rb +32 -0
  313. data/lib/phronomy/persistence/transaction.rb +86 -0
  314. data/lib/phronomy/persistence_composition/storage_schema.rb +9 -4
  315. data/lib/phronomy/persistence_composition/stores.rb +34 -0
  316. data/lib/phronomy/persistence_composition/unit4_migration.rb +276 -0
  317. data/lib/phronomy/runtime_composition/agent_defaults.rb +5 -1
  318. data/lib/phronomy/runtime_composition/configuration.rb +146 -0
  319. data/lib/phronomy/runtime_composition/evaluation_defaults.rb +7 -0
  320. data/lib/phronomy/runtime_composition/execution_defaults.rb +5 -0
  321. data/lib/phronomy/runtime_composition/generation_defaults.rb +6 -0
  322. data/lib/phronomy/runtime_composition/global_configuration.rb +38 -0
  323. data/lib/phronomy/runtime_composition/multi_agent_defaults.rb +9 -0
  324. data/lib/phronomy/runtime_composition/workflow_defaults.rb +4 -0
  325. data/lib/phronomy/storage/async/async_client.rb +60 -0
  326. data/lib/phronomy/storage/backend.rb +8 -2
  327. data/lib/phronomy/storage/condition_failed_error.rb +2 -2
  328. data/lib/phronomy/storage/unique_constraint_error.rb +2 -2
  329. data/lib/phronomy/testing/eval/metrics.rb +1 -1
  330. data/lib/phronomy/testing/eval/scorer/llm_judge.rb +19 -3
  331. data/lib/phronomy/testing/persistence_contract/a_content_store.rb +2 -2
  332. data/lib/phronomy/testing/persistence_contract/a_journal_repository.rb +6 -6
  333. data/lib/phronomy/testing/persistence_contract/a_persistence_backend.rb +55 -52
  334. data/lib/phronomy/testing/persistence_contract/a_workflow_state_repository.rb +3 -3
  335. data/lib/phronomy/testing/persistence_contract/an_agent_repository.rb +7 -7
  336. data/lib/phronomy/testing/persistence_contract/an_execution_repository.rb +11 -11
  337. data/lib/phronomy/testing/persistence_contract/coordination_repositories.rb +57 -51
  338. data/lib/phronomy/testing/persistence_contract/neutral_storage_primitives.rb +1 -1
  339. data/lib/phronomy/testing/persistence_contract/storage_transaction_boundaries.rb +23 -22
  340. data/lib/phronomy/tool/authorization.rb +77 -0
  341. data/lib/phronomy/tool/base.rb +551 -9
  342. data/lib/phronomy/tool/call_request.rb +40 -0
  343. data/lib/phronomy/{agent/tool_execution/tool_definition_set.rb → tool/definition_set.rb} +7 -8
  344. data/lib/phronomy/tool/operation.rb +88 -0
  345. data/lib/phronomy/tool/schema.rb +214 -0
  346. data/lib/phronomy/tool/settings.rb +31 -0
  347. data/lib/phronomy/tool/tool_error.rb +7 -0
  348. data/lib/phronomy/tool/tool_executor.rb +58 -0
  349. data/lib/phronomy/tools/agent.rb +22 -90
  350. data/lib/phronomy/tools/mcp.rb +21 -14
  351. data/lib/phronomy/tools/vector_search.rb +4 -4
  352. data/lib/phronomy/tracing/automatic.rb +11 -6
  353. data/lib/phronomy/tracing/base.rb +36 -7
  354. data/lib/phronomy/tracing/observation.rb +37 -0
  355. data/lib/phronomy/tracing/open_telemetry_tracer.rb +4 -29
  356. data/lib/phronomy/tracing/settings.rb +36 -0
  357. data/lib/phronomy/vector_store/{async_backend.rb → async/async_client.rb} +35 -29
  358. data/lib/phronomy/vector_store/{in_memory.rb → backends/in_memory.rb} +12 -10
  359. data/lib/phronomy/vector_store/{pgvector.rb → backends/pgvector.rb} +44 -16
  360. data/lib/phronomy/vector_store/{redis_search.rb → backends/redis_search.rb} +74 -37
  361. data/lib/phronomy/vector_store/base.rb +118 -49
  362. data/lib/phronomy/vector_store/invalid_result_error.rb +12 -0
  363. data/lib/phronomy/vector_store.rb +2 -17
  364. data/lib/phronomy/version.rb +1 -1
  365. data/lib/phronomy/workflow/completion.rb +11 -0
  366. data/lib/phronomy/workflow/execution/workflow.rb +37 -9
  367. data/lib/phronomy/workflow/execution/workflow_action_rules.rb +67 -0
  368. data/lib/phronomy/workflow/execution/workflow_context.rb +2 -2
  369. data/lib/phronomy/workflow/execution/workflow_execution_environment.rb +28 -0
  370. data/lib/phronomy/workflow/execution/workflow_execution_registry.rb +77 -8
  371. data/lib/phronomy/workflow/execution/workflow_runner.rb +105 -92
  372. data/lib/phronomy/workflow/execution/workflow_settings.rb +28 -0
  373. data/lib/phronomy/workflow/execution/workflow_task_execution.rb +153 -0
  374. data/lib/phronomy/workflow/execution/workflow_task_reception.rb +72 -0
  375. data/lib/phronomy/workflow/execution/workflow_task_resume_error.rb +14 -0
  376. data/lib/phronomy/workflow/persistence/state_repository.rb +28 -22
  377. data/lib/phronomy/workflow/persistence/storage_schema.rb +13 -0
  378. data/lib/phronomy/workflow/runtime_binding/workflow_engine_environment.rb +61 -0
  379. data/lib/phronomy/workflow/runtime_binding/workflow_phase_machine_builder.rb +158 -0
  380. data/lib/phronomy/workflow/runtime_binding/workflow_task_session.rb +76 -0
  381. data/lib/phronomy/workflow/{execution → runtime_binding}/workflow_terminal_policy.rb +4 -4
  382. data/lib/phronomy.rb +63 -16
  383. data/scripts/api_snapshot.rb +47 -15
  384. data/scripts/check_readme_ruby.rb +24 -29
  385. data/scripts/check_readme_runnable.rb +92 -81
  386. data/sig/_private/phronomy/agent/settings.rbs +19 -0
  387. data/sig/_private/phronomy/configuration/runtime_settings.rbs +20 -0
  388. data/sig/_private/phronomy/llm_adapter/async/async_client.rbs +10 -0
  389. data/sig/_private/phronomy/multi_agent/store.rbs +8 -0
  390. data/sig/_private/phronomy/persistence/storage_boundary.rbs +7 -0
  391. data/sig/_private/phronomy/tool/settings.rbs +13 -0
  392. data/sig/_private/phronomy/tracing/settings.rbs +15 -0
  393. data/sig/_private/phronomy/workflow/execution/workflow_settings.rbs +13 -0
  394. data/sig/phronomy/agent/admission.rbs +19 -0
  395. data/sig/phronomy/agent/agent_not_found_error.rbs +6 -0
  396. data/sig/phronomy/agent/agent_unloaded_error.rbs +6 -0
  397. data/sig/phronomy/agent/execution_contract.rbs +132 -0
  398. data/sig/phronomy/agent/execution_environment.rbs +20 -0
  399. data/sig/phronomy/agent/store.rbs +73 -0
  400. data/sig/phronomy/agent/stream_callback_error.rbs +8 -0
  401. data/sig/phronomy/agent.rbs +29 -135
  402. data/sig/phronomy/common.rbs +7 -0
  403. data/sig/phronomy/content_store/contracts.rbs +13 -0
  404. data/sig/phronomy/context.rbs +152 -0
  405. data/sig/phronomy/embeddings/async/async_client.rbs +9 -0
  406. data/sig/phronomy/embeddings/base.rbs +23 -0
  407. data/sig/phronomy/engine/concurrency/timer_bindings.rbs +22 -0
  408. data/sig/phronomy/engine/control_bindings.rbs +11 -0
  409. data/sig/phronomy/engine/control_protocols.rbs +23 -0
  410. data/sig/phronomy/engine/execution_binding.rbs +6 -0
  411. data/sig/phronomy/engine/execution_receiver.rbs +15 -0
  412. data/sig/phronomy/engine/observability.rbs +13 -0
  413. data/sig/phronomy/execution/async_operation.rbs +7 -0
  414. data/sig/phronomy/execution/blocking.rbs +5 -0
  415. data/sig/phronomy/execution/concurrency/cancellation_token.rbs +13 -0
  416. data/sig/phronomy/execution/concurrency/deadline.rbs +10 -0
  417. data/sig/phronomy/execution/concurrency/result_composition.rbs +7 -0
  418. data/sig/phronomy/execution/control_protocols.rbs +18 -0
  419. data/sig/phronomy/execution/errors.rbs +7 -0
  420. data/sig/phronomy/execution/execution.rbs +41 -0
  421. data/sig/phronomy/execution/execution_receiver.rbs +40 -0
  422. data/sig/phronomy/execution/execution_scope_state.rbs +9 -0
  423. data/sig/phronomy/execution/invocation_context.rbs +18 -0
  424. data/sig/phronomy/execution/invocation_controls.rbs +13 -0
  425. data/sig/phronomy/execution/task_result.rbs +29 -0
  426. data/sig/phronomy/extensions.rbs +1 -21
  427. data/sig/phronomy/filter/filter_block_error.rbs +6 -0
  428. data/sig/phronomy/generation/low_confidence_error.rbs +6 -0
  429. data/sig/phronomy/handoff.rbs +10 -4
  430. data/sig/phronomy/integrations.rbs +14 -0
  431. data/sig/phronomy/llm_adapter/backends/ruby_llm.rbs +6 -0
  432. data/sig/phronomy/llm_adapter/base.rbs +14 -0
  433. data/sig/phronomy/llm_adapter/usage.rbs +14 -0
  434. data/sig/phronomy/llm_adapter/values.rbs +43 -0
  435. data/sig/phronomy/llm_context_window.rbs +10 -0
  436. data/sig/phronomy/multi_agent/reserved_child_admission.rbs +8 -0
  437. data/sig/phronomy/multi_agent/store.rbs +54 -0
  438. data/sig/phronomy/multi_agent/team_busy_error.rbs +8 -0
  439. data/sig/phronomy/multi_agent/team_not_found_error.rbs +8 -0
  440. data/sig/phronomy/multi_agent.rbs +6 -3
  441. data/sig/phronomy/persistence/errors.rbs +18 -0
  442. data/sig/phronomy/persistence/migration.rbs +13 -0
  443. data/sig/phronomy/persistence/transaction.rbs +19 -0
  444. data/sig/phronomy/persistence.rbs +1 -99
  445. data/sig/phronomy/persistence_composition.rbs +19 -0
  446. data/sig/phronomy/runtime_composition/configuration.rbs +36 -0
  447. data/sig/phronomy/storage/async/async_client.rbs +8 -0
  448. data/sig/phronomy/storage/backends/in_memory.rbs +9 -0
  449. data/sig/phronomy/{storage.rbs → storage/contracts.rbs} +4 -18
  450. data/sig/phronomy/tool.rbs +48 -4
  451. data/sig/phronomy/tracing/observation.rbs +7 -0
  452. data/sig/phronomy/vector_store/async/async_client.rbs +13 -0
  453. data/sig/phronomy/vector_store/base.rbs +23 -0
  454. data/sig/phronomy/workflow/execution/workflow_execution_environment.rbs +15 -0
  455. data/sig/phronomy/workflow/runtime_binding/workflow_terminal_policy.rbs +7 -0
  456. data/sig/phronomy/workflow/store.rbs +8 -0
  457. data/sig/phronomy/workflow.rbs +5 -1
  458. data/sig/phronomy.rbs +4 -49
  459. metadata +365 -117
  460. data/lib/phronomy/agent/concerns/before_llm_input.rb +0 -66
  461. data/lib/phronomy/agent/concerns/error_translation.rb +0 -45
  462. data/lib/phronomy/agent/concerns/filterable.rb +0 -184
  463. data/lib/phronomy/agent/context/capability/base.rb +0 -548
  464. data/lib/phronomy/agent/context/capability/tool_executor.rb +0 -62
  465. data/lib/phronomy/agent/context/instruction/prompt_template.rb +0 -102
  466. data/lib/phronomy/agent/context_assembly/runtime_chat_builder.rb +0 -36
  467. data/lib/phronomy/agent/context_assembly/token_budget_resolver.rb +0 -22
  468. data/lib/phronomy/agent/context_parts/validators/final_budget_validator.rb +0 -37
  469. data/lib/phronomy/agent/context_policies/default.rb +0 -142
  470. data/lib/phronomy/agent/execution/phase_machine_builder.rb +0 -101
  471. data/lib/phronomy/agent/execution/provider_call_outcome.rb +0 -106
  472. data/lib/phronomy/agent/handoff/handoff_execution_coordinator.rb +0 -15
  473. data/lib/phronomy/agent/handoff/handoff_outcome_committer.rb +0 -131
  474. data/lib/phronomy/agent/handoff/handoff_request.rb +0 -45
  475. data/lib/phronomy/agent/lifecycle_contract/handoff_error.rb +0 -7
  476. data/lib/phronomy/agent/persistence/handoff_state_repository.rb +0 -58
  477. data/lib/phronomy/agent/persistence/queries.rb +0 -61
  478. data/lib/phronomy/agent/selection/candidate.rb +0 -53
  479. data/lib/phronomy/agent/selection/constraint.rb +0 -49
  480. data/lib/phronomy/agent/tool_execution/tool_call_intercepted.rb +0 -29
  481. data/lib/phronomy/agent/tool_execution/tool_invocation_session_builder.rb +0 -276
  482. data/lib/phronomy/configuration/configuration.rb +0 -68
  483. data/lib/phronomy/configuration/global_configuration.rb +0 -26
  484. data/lib/phronomy/engine/concurrency/cancellation_scope.rb +0 -124
  485. data/lib/phronomy/engine/concurrency/operation_binding.rb +0 -43
  486. data/lib/phronomy/engine/execution_receiver.rb +0 -65
  487. data/lib/phronomy/engine/runnable.rb +0 -54
  488. data/lib/phronomy/llm_adapter/ruby_llm.rb +0 -47
  489. data/lib/phronomy/llm_contract/token_usage.rb +0 -85
  490. data/lib/phronomy/multi_agent/persistence/queries.rb +0 -30
  491. data/lib/phronomy/multi_agent/storage_contract/team_storage_schema.rb +0 -15
  492. data/lib/phronomy/output_parser/contract/parse_error.rb +0 -7
  493. data/lib/phronomy/persistence/api/persistence.rb +0 -140
  494. data/lib/phronomy/persistence_composition/repositories.rb +0 -77
  495. data/lib/phronomy/recovery/recovery.rb +0 -186
  496. data/lib/phronomy/tool/contract/tool_error.rb +0 -7
  497. data/lib/phronomy/vector_store/embeddings/base.rb +0 -44
  498. data/lib/phronomy/vector_store/embeddings/ruby_llm_embeddings.rb +0 -47
  499. data/lib/phronomy/workflow/phase_machine_builder.rb +0 -205
  500. data/lib/phronomy/workflow/storage_contract/workflow_storage_schema.rb +0 -9
  501. data/sig/phronomy/execution_receiver.rbs +0 -34
  502. data/sig/phronomy/llm_adapter.rbs +0 -11
  503. data/sig/phronomy/runtime.rbs +0 -76
  504. /data/lib/phronomy/agent/{context_assembly/context_importer.rb → context_importer.rb} +0 -0
  505. /data/lib/phronomy/{engine → execution}/backpressure_error.rb +0 -0
  506. /data/lib/phronomy/{engine → execution}/cancellation_error.rb +0 -0
  507. /data/lib/phronomy/{engine → execution}/concurrency/worker_input_restricted.rb +0 -0
  508. /data/lib/phronomy/{engine → execution}/event_loop_reentrancy_error.rb +0 -0
  509. /data/lib/phronomy/{engine → execution}/invalid_async_entry_action_error.rb +0 -0
  510. /data/lib/phronomy/{engine → execution}/invalid_async_transition_action_error.rb +0 -0
  511. /data/lib/phronomy/{engine → execution}/invalid_async_workflow_action_error.rb +0 -0
  512. /data/lib/phronomy/{engine → execution}/pool_shutdown_error.rb +0 -0
  513. /data/lib/phronomy/{engine → execution}/recursion_limit_error.rb +0 -0
  514. /data/lib/phronomy/{engine → execution}/runtime_shutdown_error.rb +0 -0
  515. /data/lib/phronomy/{engine → execution}/runtime_shutdown_reentrancy_error.rb +0 -0
  516. /data/lib/phronomy/{engine → execution}/scheduler_reentrancy_error.rb +0 -0
  517. /data/lib/phronomy/{engine → execution}/timeout_error.rb +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phronomy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.0
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raizo T.C.S
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-24 00:00:00.000000000 Z
11
+ date: 2026-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby_llm
@@ -24,6 +24,48 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: schematist
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: json_schemer
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.5'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.5'
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: zeitwerk
29
71
  requirement: !ruby/object:Gem::Requirement
@@ -113,26 +155,57 @@ files:
113
155
  - benchmark/bench_vector_store.rb
114
156
  - benchmark/bench_workflow.rb
115
157
  - benchmark/run_all.rb
158
+ - docs/application-recipes.md
116
159
  - docs/architecture.md
117
160
  - docs/architecture/agent-chat-and-state-ownership.md
118
161
  - docs/architecture/agent-configuration-and-tool-binding.md
119
162
  - docs/architecture/agent-context.md
120
163
  - docs/architecture/agent-transition-ownership.md
164
+ - docs/architecture/backend-groups.md
121
165
  - docs/architecture/before-llm-input.md
122
166
  - docs/architecture/context-management.md
123
167
  - docs/architecture/context-preparation-steps.md
168
+ - docs/architecture/dx05-agent-scope.md
169
+ - docs/architecture/dx05-workflow-task-state.md
124
170
  - docs/architecture/entry-action-and-team-wording.md
171
+ - docs/architecture/error-api-review.md
172
+ - docs/architecture/execution-abstraction-review.md
173
+ - docs/architecture/execution-boundaries.md
125
174
  - docs/architecture/execution-metadata-and-values.md
126
175
  - docs/architecture/generator-verifier-ownership.md
127
176
  - docs/architecture/knowledge-and-rag.md
128
177
  - docs/architecture/multi-agent-handoff.md
129
178
  - docs/architecture/persistence-refactoring-plan.md
130
179
  - docs/architecture/persistence.md
180
+ - docs/architecture/r8-unit1.md
181
+ - docs/architecture/r8-unit10.md
182
+ - docs/architecture/r8-unit11.md
183
+ - docs/architecture/r8-unit12.md
184
+ - docs/architecture/r8-unit13.md
185
+ - docs/architecture/r8-unit14.md
186
+ - docs/architecture/r8-unit15.md
187
+ - docs/architecture/r8-unit16.md
188
+ - docs/architecture/r8-unit17.md
189
+ - docs/architecture/r8-unit18.md
190
+ - docs/architecture/r8-unit19.md
191
+ - docs/architecture/r8-unit2.md
192
+ - docs/architecture/r8-unit20.md
193
+ - docs/architecture/r8-unit21.md
194
+ - docs/architecture/r8-unit22.md
195
+ - docs/architecture/r8-unit23.md
196
+ - docs/architecture/r8-unit3.md
197
+ - docs/architecture/r8-unit4.md
198
+ - docs/architecture/r8-unit5.md
199
+ - docs/architecture/r8-unit6.md
200
+ - docs/architecture/r8-unit7.md
201
+ - docs/architecture/r8-unit8.md
202
+ - docs/architecture/r8-unit9.md
131
203
  - docs/architecture/refactoring-closure.md
132
204
  - docs/architecture/remaining-refactoring-plan.md
133
205
  - docs/architecture/removed/agent-context.md
134
206
  - docs/architecture/rubyllm-2-token-ownership.md
135
207
  - docs/architecture/security-boundaries.md
208
+ - docs/architecture/storage-execution-boundaries.md
136
209
  - docs/architecture/tool-schema-recording-gap.md
137
210
  - docs/architecture/tracing.md
138
211
  - docs/architecture/workflow-terminal-ownership-design.md
@@ -203,6 +276,16 @@ files:
203
276
  - docs/decisions/056-workflow-terminal-policy-ownership.md
204
277
  - docs/decisions/057-storage-transaction-boundaries.md
205
278
  - docs/decisions/058-neutral-storage-primitives.md
279
+ - docs/decisions/059-backend-contracts-and-async-clients.md
280
+ - docs/decisions/060-runtime-settings-and-application-configuration.md
281
+ - docs/decisions/061-persistence-failure-contracts.md
282
+ - docs/decisions/062-content-store-service.md
283
+ - docs/decisions/063-execution-contracts-and-services.md
284
+ - docs/decisions/064-agent-execution-and-multi-agent-responsibility.md
285
+ - docs/decisions/065-vector-and-embeddings-common-operations.md
286
+ - docs/decisions/066-llm-and-tool-operation-contracts.md
287
+ - docs/decisions/067-agent-progress-and-engine-connection.md
288
+ - docs/decisions/068-agent-tool-child-progress-and-tool-operation.md
206
289
  - docs/decisions/README.md
207
290
  - docs/design/durable-semantic-coordination/CHANGELOG_V2_REVISION_2.md
208
291
  - docs/design/durable-semantic-coordination/CONTINUATION_DECISION_REFACTOR.md
@@ -210,6 +293,8 @@ files:
210
293
  - docs/design/durable-semantic-coordination/IMPLEMENTATION_REPORT.md
211
294
  - docs/design/durable-semantic-coordination/RECOVERY_CONTRACT_CLARIFICATIONS.md
212
295
  - docs/design/durable-semantic-coordination/RESPONSIBILITY_BOUNDARY_REVIEW.md
296
+ - docs/execution-boundaries-preview.md
297
+ - docs/failure-reason-codes.md
213
298
  - docs/features.md
214
299
  - docs/getting-started.md
215
300
  - docs/mcp-client.md
@@ -221,45 +306,58 @@ files:
221
306
  - docs/migrations/handoff-runner-multi-agent.md
222
307
  - docs/migrations/neutral-storage-spi.md
223
308
  - docs/migrations/parallel-tool-chat-removal.md
309
+ - docs/migrations/persistence-failure-contracts.md
310
+ - docs/migrations/r8-unit10.md
311
+ - docs/migrations/r8-unit11.md
312
+ - docs/migrations/r8-unit12.md
313
+ - docs/migrations/r8-unit13.md
314
+ - docs/migrations/r8-unit14.md
315
+ - docs/migrations/r8-unit15.md
316
+ - docs/migrations/r8-unit16.md
317
+ - docs/migrations/r8-unit17.md
318
+ - docs/migrations/r8-unit18.md
319
+ - docs/migrations/r8-unit19.md
320
+ - docs/migrations/r8-unit20.md
321
+ - docs/migrations/r8-unit21.md
322
+ - docs/migrations/r8-unit22.md
323
+ - docs/migrations/r8-unit23.md
324
+ - docs/migrations/r8-unit4.md
325
+ - docs/migrations/r8-unit5.md
326
+ - docs/migrations/r8-unit6.md
327
+ - docs/migrations/r8-unit7.md
328
+ - docs/migrations/r8-unit8.md
329
+ - docs/migrations/r8-unit9.md
224
330
  - docs/migrations/shared-state-multi-agent.md
331
+ - docs/migrations/storage-async-client.md
225
332
  - docs/migrations/storage-backend-composition.md
226
333
  - docs/migrations/storage-transaction-boundaries.md
334
+ - docs/migrations/vector-async-clients.md
335
+ - docs/ordered-event-delivery.md
227
336
  - docs/persistence-backends.md
228
337
  - docs/runtime-and-concurrency.md
338
+ - docs/workflow-completion.md
229
339
  - examples/README.md
340
+ - gemfiles/http_minimum.gemfile
230
341
  - gemfiles/mcp_1_0.gemfile
231
342
  - lib/phronomy.rb
343
+ - lib/phronomy/agent/admission.rb
344
+ - lib/phronomy/agent/agent_already_exists_error.rb
345
+ - lib/phronomy/agent/agent_busy_error.rb
346
+ - lib/phronomy/agent/agent_not_found_error.rb
347
+ - lib/phronomy/agent/agent_purged_error.rb
348
+ - lib/phronomy/agent/agent_unloaded_error.rb
232
349
  - lib/phronomy/agent/api/agent.rb
350
+ - lib/phronomy/agent/api/execution_rehydration_required_error.rb
233
351
  - lib/phronomy/agent/async_event_api.rb
234
352
  - lib/phronomy/agent/base.rb
353
+ - lib/phronomy/agent/before_llm_input.rb
235
354
  - lib/phronomy/agent/composition/run_once.rb
236
- - lib/phronomy/agent/concerns/before_llm_input.rb
237
- - lib/phronomy/agent/concerns/error_translation.rb
238
- - lib/phronomy/agent/concerns/filterable.rb
239
- - lib/phronomy/agent/context/capability/base.rb
240
- - lib/phronomy/agent/context/capability/tool_executor.rb
241
- - lib/phronomy/agent/context/instruction/prompt_template.rb
242
- - lib/phronomy/agent/context_assembly/context_assembler.rb
243
- - lib/phronomy/agent/context_assembly/context_candidate_resolver.rb
244
- - lib/phronomy/agent/context_assembly/context_importer.rb
245
- - lib/phronomy/agent/context_assembly/context_policy_input_builder.rb
246
- - lib/phronomy/agent/context_assembly/ruby_llm_materializer.rb
247
- - lib/phronomy/agent/context_assembly/runtime_chat_builder.rb
248
- - lib/phronomy/agent/context_assembly/saved_context_reader.rb
249
- - lib/phronomy/agent/context_assembly/state_writer.rb
250
- - lib/phronomy/agent/context_assembly/token_budget_resolver.rb
251
- - lib/phronomy/agent/context_contract/context_plan.rb
252
- - lib/phronomy/agent/context_contract/context_plan_validator.rb
253
- - lib/phronomy/agent/context_contract/context_policy.rb
254
- - lib/phronomy/agent/context_contract/context_policy_input.rb
255
- - lib/phronomy/agent/context_contract/llm_input_build_context.rb
256
- - lib/phronomy/agent/context_contract/llm_input_manifest.rb
257
- - lib/phronomy/agent/context_contract/llm_input_patch.rb
258
- - lib/phronomy/agent/context_parts/validators/final_budget_validator.rb
259
- - lib/phronomy/agent/context_policies/default.rb
355
+ - lib/phronomy/agent/context_candidate_resolver.rb
356
+ - lib/phronomy/agent/context_importer.rb
357
+ - lib/phronomy/agent/context_preparation.rb
358
+ - lib/phronomy/agent/control_request.rb
260
359
  - lib/phronomy/agent/execution/agent_execution.rb
261
360
  - lib/phronomy/agent/execution/agent_invocation.rb
262
- - lib/phronomy/agent/execution/agent_invocation_session_builder.rb
263
361
  - lib/phronomy/agent/execution/approval_resume_commit.rb
264
362
  - lib/phronomy/agent/execution/dispatch_preparation.rb
265
363
  - lib/phronomy/agent/execution/exact_execution.rb
@@ -271,37 +369,38 @@ files:
271
369
  - lib/phronomy/agent/execution/execution_registry.rb
272
370
  - lib/phronomy/agent/execution/execution_session_runner.rb
273
371
  - lib/phronomy/agent/execution/initial_preparation.rb
372
+ - lib/phronomy/agent/execution/invocation_actions.rb
274
373
  - lib/phronomy/agent/execution/invocation_transitions.rb
275
374
  - lib/phronomy/agent/execution/llm_operation_result.rb
276
- - lib/phronomy/agent/execution/phase_machine_builder.rb
277
- - lib/phronomy/agent/execution/provider_call_outcome.rb
278
375
  - lib/phronomy/agent/execution/runtime_record_encoder.rb
279
- - lib/phronomy/agent/handoff/handoff.rb
280
- - lib/phronomy/agent/handoff/handoff_capability_factory.rb
281
- - lib/phronomy/agent/handoff/handoff_context.rb
282
- - lib/phronomy/agent/handoff/handoff_execution_coordinator.rb
283
- - lib/phronomy/agent/handoff/handoff_outcome_committer.rb
284
- - lib/phronomy/agent/handoff/handoff_policy.rb
285
- - lib/phronomy/agent/handoff/handoff_projection.rb
286
- - lib/phronomy/agent/handoff/handoff_request.rb
287
- - lib/phronomy/agent/handoff/handoff_state.rb
376
+ - lib/phronomy/agent/execution_change.rb
377
+ - lib/phronomy/agent/execution_environment.rb
378
+ - lib/phronomy/agent/execution_extension_state.rb
379
+ - lib/phronomy/agent/execution_observation.rb
380
+ - lib/phronomy/agent/filterable.rb
381
+ - lib/phronomy/agent/handoff/transfer_context.rb
382
+ - lib/phronomy/agent/handoff/transfer_projection.rb
383
+ - lib/phronomy/agent/handoff_error.rb
288
384
  - lib/phronomy/agent/journal/journal_projection.rb
289
385
  - lib/phronomy/agent/journal/journal_record.rb
290
386
  - lib/phronomy/agent/journal/llm_call_record.rb
387
+ - lib/phronomy/agent/knowledge_item.rb
291
388
  - lib/phronomy/agent/lifecycle/agent_root.rb
292
389
  - lib/phronomy/agent/lifecycle/default_persistence.rb
390
+ - lib/phronomy/agent/lifecycle/lifetime_api.rb
391
+ - lib/phronomy/agent/lifecycle/operation_lease.rb
392
+ - lib/phronomy/agent/lifecycle/operation_result.rb
293
393
  - lib/phronomy/agent/lifecycle/ownership_registry.rb
294
- - lib/phronomy/agent/lifecycle_contract/agent_already_exists_error.rb
295
- - lib/phronomy/agent/lifecycle_contract/agent_busy_error.rb
296
- - lib/phronomy/agent/lifecycle_contract/agent_purged_error.rb
297
- - lib/phronomy/agent/lifecycle_contract/handoff_error.rb
298
- - lib/phronomy/agent/lifecycle_contract/stream_callback_error.rb
394
+ - lib/phronomy/agent/lifecycle/scope.rb
395
+ - lib/phronomy/agent/lifecycle/scope_cleanup_error.rb
396
+ - lib/phronomy/agent/lifecycle/unload_transition.rb
299
397
  - lib/phronomy/agent/persistence/agent_repository.rb
398
+ - lib/phronomy/agent/persistence/cancellation_repository.rb
300
399
  - lib/phronomy/agent/persistence/codec.rb
301
400
  - lib/phronomy/agent/persistence/execution_repository.rb
302
- - lib/phronomy/agent/persistence/handoff_state_repository.rb
303
401
  - lib/phronomy/agent/persistence/journal_repository.rb
304
- - lib/phronomy/agent/persistence/queries.rb
402
+ - lib/phronomy/agent/persistence/records.rb
403
+ - lib/phronomy/agent/persistence/retention_repository.rb
305
404
  - lib/phronomy/agent/persistence/storage_schema.rb
306
405
  - lib/phronomy/agent/persistence/watermark.rb
307
406
  - lib/phronomy/agent/recovery/invocation_restorer.rb
@@ -309,116 +408,194 @@ files:
309
408
  - lib/phronomy/agent/recovery/recovery_coordinator/continuation.rb
310
409
  - lib/phronomy/agent/recovery/recovery_coordinator/installation.rb
311
410
  - lib/phronomy/agent/recovery/recovery_coordinator/resolution.rb
411
+ - lib/phronomy/agent/recovery/recovery_rules.rb
312
412
  - lib/phronomy/agent/recovery/recovery_support.rb
313
- - lib/phronomy/agent/selection/candidate.rb
314
- - lib/phronomy/agent/selection/constraint.rb
413
+ - lib/phronomy/agent/reserved_execution.rb
414
+ - lib/phronomy/agent/retention.rb
415
+ - lib/phronomy/agent/runtime_binding/engine_environment.rb
416
+ - lib/phronomy/agent/runtime_binding/engine_session_builder.rb
417
+ - lib/phronomy/agent/runtime_binding/phase_machine_builder.rb
418
+ - lib/phronomy/agent/runtime_binding/tool_session_builder.rb
419
+ - lib/phronomy/agent/runtime_input.rb
420
+ - lib/phronomy/agent/saved_context_reader.rb
421
+ - lib/phronomy/agent/settings.rb
422
+ - lib/phronomy/agent/state_writer.rb
423
+ - lib/phronomy/agent/store.rb
424
+ - lib/phronomy/agent/stream_callback_error.rb
315
425
  - lib/phronomy/agent/tool_execution/approval_evaluation_request.rb
316
426
  - lib/phronomy/agent/tool_execution/tool_approval_request.rb
317
427
  - lib/phronomy/agent/tool_execution/tool_binding.rb
318
- - lib/phronomy/agent/tool_execution/tool_call_intercepted.rb
319
- - lib/phronomy/agent/tool_execution/tool_definition_set.rb
320
428
  - lib/phronomy/agent/tool_execution/tool_invocation.rb
321
- - lib/phronomy/agent/tool_execution/tool_invocation_session_builder.rb
429
+ - lib/phronomy/agent/tool_execution/tool_invocation_actions.rb
430
+ - lib/phronomy/agent/tool_execution/tool_invocation_transitions.rb
322
431
  - lib/phronomy/common/canonical_json.rb
323
432
  - lib/phronomy/common/configuration_error.rb
324
433
  - lib/phronomy/common/error.rb
325
434
  - lib/phronomy/common/values/immutable.rb
326
435
  - lib/phronomy/common/values/serializable.rb
327
- - lib/phronomy/configuration/configuration.rb
328
- - lib/phronomy/configuration/global_configuration.rb
436
+ - lib/phronomy/configuration/runtime_settings.rb
329
437
  - lib/phronomy/content_store/base.rb
330
438
  - lib/phronomy/content_store/storage_schema.rb
331
439
  - lib/phronomy/content_store/stored_contents.rb
332
- - lib/phronomy/engine/backpressure_error.rb
333
- - lib/phronomy/engine/blocking.rb
334
- - lib/phronomy/engine/cancellation_error.rb
440
+ - lib/phronomy/context/assembly.rb
441
+ - lib/phronomy/context/budget_exceeded_error.rb
442
+ - lib/phronomy/context/candidate.rb
443
+ - lib/phronomy/context/constraint.rb
444
+ - lib/phronomy/context/context_plan.rb
445
+ - lib/phronomy/context/context_plan_validator.rb
446
+ - lib/phronomy/context/context_policy.rb
447
+ - lib/phronomy/context/context_policy_input.rb
448
+ - lib/phronomy/context/context_policy_input_builder.rb
449
+ - lib/phronomy/context/default_policy.rb
450
+ - lib/phronomy/context/final_budget_validator.rb
451
+ - lib/phronomy/context/llm_input_build_context.rb
452
+ - lib/phronomy/context/llm_input_manifest.rb
453
+ - lib/phronomy/context/llm_input_patch.rb
454
+ - lib/phronomy/context/manifest_error.rb
455
+ - lib/phronomy/context/prompt_template.rb
456
+ - lib/phronomy/documents/loader/base.rb
457
+ - lib/phronomy/documents/loader/csv_loader.rb
458
+ - lib/phronomy/documents/loader/markdown_loader.rb
459
+ - lib/phronomy/documents/loader/plain_text_loader.rb
460
+ - lib/phronomy/documents/splitter/base.rb
461
+ - lib/phronomy/documents/splitter/fixed_size_splitter.rb
462
+ - lib/phronomy/documents/splitter/recursive_splitter.rb
463
+ - lib/phronomy/embeddings/async/async_client.rb
464
+ - lib/phronomy/embeddings/authentication_error.rb
465
+ - lib/phronomy/embeddings/backends/ruby_llm_embeddings.rb
466
+ - lib/phronomy/embeddings/base.rb
467
+ - lib/phronomy/embeddings/invalid_result_error.rb
468
+ - lib/phronomy/embeddings/rate_limit_error.rb
469
+ - lib/phronomy/embeddings/transport_error.rb
335
470
  - lib/phronomy/engine/concurrency/async_queue.rb
336
- - lib/phronomy/engine/concurrency/cancellation_scope.rb
337
- - lib/phronomy/engine/concurrency/cancellation_token.rb
338
- - lib/phronomy/engine/concurrency/deadline.rb
339
471
  - lib/phronomy/engine/concurrency/offload_pool.rb
340
- - lib/phronomy/engine/concurrency/operation_binding.rb
341
- - lib/phronomy/engine/concurrency/physical_completion_task.rb
342
472
  - lib/phronomy/engine/concurrency/pool_registry.rb
343
- - lib/phronomy/engine/concurrency/result_collector.rb
344
- - lib/phronomy/engine/concurrency/result_composition.rb
345
- - lib/phronomy/engine/concurrency/subscriptions.rb
346
- - lib/phronomy/engine/concurrency/worker_input_restricted.rb
347
473
  - lib/phronomy/engine/diagnostics.rb
348
474
  - lib/phronomy/engine/event.rb
349
475
  - lib/phronomy/engine/event_loop.rb
350
- - lib/phronomy/engine/event_loop_reentrancy_error.rb
351
- - lib/phronomy/engine/execution.rb
352
- - lib/phronomy/engine/execution_cancellation_error.rb
353
- - lib/phronomy/engine/execution_receiver.rb
354
- - lib/phronomy/engine/execution_timeout_error.rb
476
+ - lib/phronomy/engine/execution_binding.rb
477
+ - lib/phronomy/engine/execution_receiver_binding.rb
355
478
  - lib/phronomy/engine/fsm_protocol.rb
356
479
  - lib/phronomy/engine/fsm_session.rb
357
- - lib/phronomy/engine/invalid_async_entry_action_error.rb
358
- - lib/phronomy/engine/invalid_async_transition_action_error.rb
359
- - lib/phronomy/engine/invalid_async_workflow_action_error.rb
360
- - lib/phronomy/engine/invocation_context.rb
361
480
  - lib/phronomy/engine/metrics.rb
362
- - lib/phronomy/engine/pool_shutdown_error.rb
363
- - lib/phronomy/engine/recursion_limit_error.rb
364
- - lib/phronomy/engine/runnable.rb
365
481
  - lib/phronomy/engine/runtime.rb
366
482
  - lib/phronomy/engine/runtime/shutdown_result.rb
367
483
  - lib/phronomy/engine/runtime/timer_queue.rb
368
484
  - lib/phronomy/engine/runtime/timer_service.rb
369
- - lib/phronomy/engine/runtime_shutdown_error.rb
370
- - lib/phronomy/engine/runtime_shutdown_reentrancy_error.rb
371
- - lib/phronomy/engine/scheduler_reentrancy_error.rb
372
- - lib/phronomy/engine/task_result.rb
373
- - lib/phronomy/engine/timeout_error.rb
485
+ - lib/phronomy/engine/terminal_decision.rb
486
+ - lib/phronomy/execution/async_operation.rb
487
+ - lib/phronomy/execution/backpressure_error.rb
488
+ - lib/phronomy/execution/blocking.rb
489
+ - lib/phronomy/execution/cancellation_error.rb
490
+ - lib/phronomy/execution/concurrency/cancellation_token.rb
491
+ - lib/phronomy/execution/concurrency/deadline.rb
492
+ - lib/phronomy/execution/concurrency/physical_completion_task.rb
493
+ - lib/phronomy/execution/concurrency/result_collector.rb
494
+ - lib/phronomy/execution/concurrency/result_composition.rb
495
+ - lib/phronomy/execution/concurrency/result_subscriptions.rb
496
+ - lib/phronomy/execution/concurrency/subscriptions.rb
497
+ - lib/phronomy/execution/concurrency/worker_input_restricted.rb
498
+ - lib/phronomy/execution/event_loop_reentrancy_error.rb
499
+ - lib/phronomy/execution/execution.rb
500
+ - lib/phronomy/execution/execution_cancellation_error.rb
501
+ - lib/phronomy/execution/execution_receiver.rb
502
+ - lib/phronomy/execution/execution_scope_state.rb
503
+ - lib/phronomy/execution/execution_timeout_error.rb
504
+ - lib/phronomy/execution/invalid_async_entry_action_error.rb
505
+ - lib/phronomy/execution/invalid_async_transition_action_error.rb
506
+ - lib/phronomy/execution/invalid_async_workflow_action_error.rb
507
+ - lib/phronomy/execution/invocation_context.rb
508
+ - lib/phronomy/execution/invocation_controls.rb
509
+ - lib/phronomy/execution/pool_shutdown_error.rb
510
+ - lib/phronomy/execution/recursion_limit_error.rb
511
+ - lib/phronomy/execution/runnable.rb
512
+ - lib/phronomy/execution/runtime_shutdown_error.rb
513
+ - lib/phronomy/execution/runtime_shutdown_reentrancy_error.rb
514
+ - lib/phronomy/execution/scheduler_reentrancy_error.rb
515
+ - lib/phronomy/execution/task_result.rb
516
+ - lib/phronomy/execution/timeout_error.rb
517
+ - lib/phronomy/execution/wait_policy.rb
374
518
  - lib/phronomy/filter.rb
375
519
  - lib/phronomy/filter/base.rb
376
- - lib/phronomy/filter/contract/filter_block_error.rb
520
+ - lib/phronomy/filter/filter_block_error.rb
377
521
  - lib/phronomy/filter/prompt_injection_filter.rb
378
522
  - lib/phronomy/generation/generator_verifier.rb
523
+ - lib/phronomy/generation/generator_verifier/agent_operation.rb
379
524
  - lib/phronomy/generation/generator_verifier/agent_result_receiver.rb
525
+ - lib/phronomy/generation/generator_verifier/default_parser.rb
380
526
  - lib/phronomy/generation/generator_verifier/pipeline_state.rb
381
527
  - lib/phronomy/generation/generator_verifier/workflow_builder.rb
382
528
  - lib/phronomy/generation/low_confidence_error.rb
529
+ - lib/phronomy/integrations/ordered_event_delivery.rb
383
530
  - lib/phronomy/llm_adapter.rb
531
+ - lib/phronomy/llm_adapter/async/async_client.rb
532
+ - lib/phronomy/llm_adapter/authentication_error.rb
533
+ - lib/phronomy/llm_adapter/backends/ruby_llm.rb
384
534
  - lib/phronomy/llm_adapter/base.rb
385
- - lib/phronomy/llm_adapter/ruby_llm.rb
535
+ - lib/phronomy/llm_adapter/context_length_error.rb
536
+ - lib/phronomy/llm_adapter/invalid_result_error.rb
537
+ - lib/phronomy/llm_adapter/message.rb
538
+ - lib/phronomy/llm_adapter/rate_limit_error.rb
539
+ - lib/phronomy/llm_adapter/request.rb
540
+ - lib/phronomy/llm_adapter/response.rb
541
+ - lib/phronomy/llm_adapter/stream_chunk.rb
542
+ - lib/phronomy/llm_adapter/token_usage.rb
543
+ - lib/phronomy/llm_adapter/transport_error.rb
386
544
  - lib/phronomy/llm_context_window/token_budget.rb
387
545
  - lib/phronomy/llm_context_window/token_estimator.rb
388
- - lib/phronomy/llm_contract/authentication_error.rb
389
- - lib/phronomy/llm_contract/context_budget_exceeded_error.rb
390
- - lib/phronomy/llm_contract/context_length_error.rb
391
- - lib/phronomy/llm_contract/rate_limit_error.rb
392
- - lib/phronomy/llm_contract/token_usage.rb
393
- - lib/phronomy/llm_contract/transport_error.rb
394
546
  - lib/phronomy/multi_agent/admission_registry.rb
395
547
  - lib/phronomy/multi_agent/durable_subagent_coordinator.rb
548
+ - lib/phronomy/multi_agent/execution_environment.rb
549
+ - lib/phronomy/multi_agent/handoff.rb
550
+ - lib/phronomy/multi_agent/handoff_capability_factory.rb
551
+ - lib/phronomy/multi_agent/handoff_participant.rb
552
+ - lib/phronomy/multi_agent/handoff_policy.rb
396
553
  - lib/phronomy/multi_agent/handoff_runner.rb
554
+ - lib/phronomy/multi_agent/handoff_state.rb
397
555
  - lib/phronomy/multi_agent/orchestrator.rb
398
556
  - lib/phronomy/multi_agent/persistence/codec.rb
399
- - lib/phronomy/multi_agent/persistence/queries.rb
557
+ - lib/phronomy/multi_agent/persistence/handoff_state_repository.rb
558
+ - lib/phronomy/multi_agent/persistence/records.rb
559
+ - lib/phronomy/multi_agent/persistence/storage_schema.rb
400
560
  - lib/phronomy/multi_agent/persistence/team_execution_repository.rb
401
561
  - lib/phronomy/multi_agent/persistence/team_repository.rb
562
+ - lib/phronomy/multi_agent/reserved_child_admission.rb
563
+ - lib/phronomy/multi_agent/runtime_binding/engine_environment.rb
402
564
  - lib/phronomy/multi_agent/shared_state.rb
403
- - lib/phronomy/multi_agent/storage_contract/team_storage_schema.rb
565
+ - lib/phronomy/multi_agent/store.rb
566
+ - lib/phronomy/multi_agent/team_busy_error.rb
404
567
  - lib/phronomy/multi_agent/team_coordinator.rb
405
568
  - lib/phronomy/multi_agent/team_execution.rb
569
+ - lib/phronomy/multi_agent/team_not_found_error.rb
406
570
  - lib/phronomy/multi_agent/team_ownership_registry.rb
407
571
  - lib/phronomy/multi_agent/team_root.rb
408
572
  - lib/phronomy/output_parser.rb
409
573
  - lib/phronomy/output_parser/base.rb
410
- - lib/phronomy/output_parser/contract/parse_error.rb
411
574
  - lib/phronomy/output_parser/json_parser.rb
575
+ - lib/phronomy/output_parser/parse_error.rb
412
576
  - lib/phronomy/output_parser/structured_parser.rb
413
- - lib/phronomy/persistence/api/persistence.rb
577
+ - lib/phronomy/persistence/content_repository.rb
578
+ - lib/phronomy/persistence/errors.rb
414
579
  - lib/phronomy/persistence/migration/initial_format_migration.rb
415
- - lib/phronomy/persistence_composition/repositories.rb
580
+ - lib/phronomy/persistence/persistence.rb
581
+ - lib/phronomy/persistence/save_outcome.rb
582
+ - lib/phronomy/persistence/snapshot_comparison.rb
583
+ - lib/phronomy/persistence/storage_boundary.rb
584
+ - lib/phronomy/persistence/transaction.rb
416
585
  - lib/phronomy/persistence_composition/storage_schema.rb
417
- - lib/phronomy/recovery/execution_rehydration_required_error.rb
418
- - lib/phronomy/recovery/recovery.rb
586
+ - lib/phronomy/persistence_composition/stores.rb
587
+ - lib/phronomy/persistence_composition/unit4_migration.rb
419
588
  - lib/phronomy/runtime_composition/agent_defaults.rb
589
+ - lib/phronomy/runtime_composition/configuration.rb
420
590
  - lib/phronomy/runtime_composition/configuration_defaults.rb
591
+ - lib/phronomy/runtime_composition/evaluation_defaults.rb
592
+ - lib/phronomy/runtime_composition/execution_defaults.rb
593
+ - lib/phronomy/runtime_composition/generation_defaults.rb
594
+ - lib/phronomy/runtime_composition/global_configuration.rb
421
595
  - lib/phronomy/runtime_composition/global_runtime.rb
596
+ - lib/phronomy/runtime_composition/multi_agent_defaults.rb
597
+ - lib/phronomy/runtime_composition/workflow_defaults.rb
598
+ - lib/phronomy/storage/async/async_client.rb
422
599
  - lib/phronomy/storage/backend.rb
423
600
  - lib/phronomy/storage/backends/in_memory.rb
424
601
  - lib/phronomy/storage/blob_conflict_error.rb
@@ -466,8 +643,15 @@ files:
466
643
  - lib/phronomy/testing/persistence_contract/neutral_storage_primitives.rb
467
644
  - lib/phronomy/testing/persistence_contract/storage_transaction_boundaries.rb
468
645
  - lib/phronomy/tool.rb
646
+ - lib/phronomy/tool/authorization.rb
469
647
  - lib/phronomy/tool/base.rb
470
- - lib/phronomy/tool/contract/tool_error.rb
648
+ - lib/phronomy/tool/call_request.rb
649
+ - lib/phronomy/tool/definition_set.rb
650
+ - lib/phronomy/tool/operation.rb
651
+ - lib/phronomy/tool/schema.rb
652
+ - lib/phronomy/tool/settings.rb
653
+ - lib/phronomy/tool/tool_error.rb
654
+ - lib/phronomy/tool/tool_executor.rb
471
655
  - lib/phronomy/tools/agent.rb
472
656
  - lib/phronomy/tools/mcp.rb
473
657
  - lib/phronomy/tools/vector_search.rb
@@ -476,33 +660,36 @@ files:
476
660
  - lib/phronomy/tracing/base.rb
477
661
  - lib/phronomy/tracing/langfuse_tracer.rb
478
662
  - lib/phronomy/tracing/null_tracer.rb
663
+ - lib/phronomy/tracing/observation.rb
479
664
  - lib/phronomy/tracing/open_telemetry_tracer.rb
665
+ - lib/phronomy/tracing/settings.rb
480
666
  - lib/phronomy/vector_store.rb
481
- - lib/phronomy/vector_store/async_backend.rb
667
+ - lib/phronomy/vector_store/async/async_client.rb
668
+ - lib/phronomy/vector_store/backends/in_memory.rb
669
+ - lib/phronomy/vector_store/backends/pgvector.rb
670
+ - lib/phronomy/vector_store/backends/redis_search.rb
482
671
  - lib/phronomy/vector_store/base.rb
483
- - lib/phronomy/vector_store/embeddings/base.rb
484
- - lib/phronomy/vector_store/embeddings/ruby_llm_embeddings.rb
485
- - lib/phronomy/vector_store/in_memory.rb
486
- - lib/phronomy/vector_store/loader/base.rb
487
- - lib/phronomy/vector_store/loader/csv_loader.rb
488
- - lib/phronomy/vector_store/loader/markdown_loader.rb
489
- - lib/phronomy/vector_store/loader/plain_text_loader.rb
490
- - lib/phronomy/vector_store/pgvector.rb
491
- - lib/phronomy/vector_store/redis_search.rb
492
- - lib/phronomy/vector_store/splitter/base.rb
493
- - lib/phronomy/vector_store/splitter/fixed_size_splitter.rb
494
- - lib/phronomy/vector_store/splitter/recursive_splitter.rb
672
+ - lib/phronomy/vector_store/invalid_result_error.rb
495
673
  - lib/phronomy/version.rb
674
+ - lib/phronomy/workflow/completion.rb
496
675
  - lib/phronomy/workflow/execution/workflow.rb
676
+ - lib/phronomy/workflow/execution/workflow_action_rules.rb
497
677
  - lib/phronomy/workflow/execution/workflow_context.rb
498
678
  - lib/phronomy/workflow/execution/workflow_context_ownership_error.rb
679
+ - lib/phronomy/workflow/execution/workflow_execution_environment.rb
499
680
  - lib/phronomy/workflow/execution/workflow_execution_registry.rb
500
681
  - lib/phronomy/workflow/execution/workflow_runner.rb
501
- - lib/phronomy/workflow/execution/workflow_terminal_policy.rb
682
+ - lib/phronomy/workflow/execution/workflow_settings.rb
683
+ - lib/phronomy/workflow/execution/workflow_task_execution.rb
684
+ - lib/phronomy/workflow/execution/workflow_task_reception.rb
685
+ - lib/phronomy/workflow/execution/workflow_task_resume_error.rb
502
686
  - lib/phronomy/workflow/persistence/codec.rb
503
687
  - lib/phronomy/workflow/persistence/state_repository.rb
504
- - lib/phronomy/workflow/phase_machine_builder.rb
505
- - lib/phronomy/workflow/storage_contract/workflow_storage_schema.rb
688
+ - lib/phronomy/workflow/persistence/storage_schema.rb
689
+ - lib/phronomy/workflow/runtime_binding/workflow_engine_environment.rb
690
+ - lib/phronomy/workflow/runtime_binding/workflow_phase_machine_builder.rb
691
+ - lib/phronomy/workflow/runtime_binding/workflow_task_session.rb
692
+ - lib/phronomy/workflow/runtime_binding/workflow_terminal_policy.rb
506
693
  - scripts/add_to_h_to_token_doubles.rb
507
694
  - scripts/add_to_h_unnamed_doubles.rb
508
695
  - scripts/api_snapshot.rb
@@ -514,18 +701,79 @@ files:
514
701
  - scripts/migrate_spec_inline_pass3.rb
515
702
  - scripts/run_mutation.sh
516
703
  - scripts/storage_spi_snapshot.rb
704
+ - sig/_private/phronomy/agent/settings.rbs
705
+ - sig/_private/phronomy/configuration/runtime_settings.rbs
706
+ - sig/_private/phronomy/llm_adapter/async/async_client.rbs
707
+ - sig/_private/phronomy/multi_agent/store.rbs
708
+ - sig/_private/phronomy/persistence/storage_boundary.rbs
709
+ - sig/_private/phronomy/tool/settings.rbs
710
+ - sig/_private/phronomy/tracing/settings.rbs
711
+ - sig/_private/phronomy/workflow/execution/workflow_settings.rbs
517
712
  - sig/phronomy.rbs
518
713
  - sig/phronomy/agent.rbs
519
- - sig/phronomy/execution_receiver.rbs
714
+ - sig/phronomy/agent/admission.rbs
715
+ - sig/phronomy/agent/agent_not_found_error.rbs
716
+ - sig/phronomy/agent/agent_unloaded_error.rbs
717
+ - sig/phronomy/agent/execution_contract.rbs
718
+ - sig/phronomy/agent/execution_environment.rbs
719
+ - sig/phronomy/agent/store.rbs
720
+ - sig/phronomy/agent/stream_callback_error.rbs
721
+ - sig/phronomy/common.rbs
722
+ - sig/phronomy/content_store/contracts.rbs
723
+ - sig/phronomy/context.rbs
724
+ - sig/phronomy/embeddings/async/async_client.rbs
725
+ - sig/phronomy/embeddings/base.rbs
726
+ - sig/phronomy/engine/concurrency/timer_bindings.rbs
727
+ - sig/phronomy/engine/control_bindings.rbs
728
+ - sig/phronomy/engine/control_protocols.rbs
729
+ - sig/phronomy/engine/execution_binding.rbs
730
+ - sig/phronomy/engine/execution_receiver.rbs
731
+ - sig/phronomy/engine/observability.rbs
732
+ - sig/phronomy/execution/async_operation.rbs
733
+ - sig/phronomy/execution/blocking.rbs
734
+ - sig/phronomy/execution/concurrency/cancellation_token.rbs
735
+ - sig/phronomy/execution/concurrency/deadline.rbs
736
+ - sig/phronomy/execution/concurrency/result_composition.rbs
737
+ - sig/phronomy/execution/control_protocols.rbs
738
+ - sig/phronomy/execution/errors.rbs
739
+ - sig/phronomy/execution/execution.rbs
740
+ - sig/phronomy/execution/execution_receiver.rbs
741
+ - sig/phronomy/execution/execution_scope_state.rbs
742
+ - sig/phronomy/execution/invocation_context.rbs
743
+ - sig/phronomy/execution/invocation_controls.rbs
744
+ - sig/phronomy/execution/task_result.rbs
520
745
  - sig/phronomy/extensions.rbs
746
+ - sig/phronomy/filter/filter_block_error.rbs
747
+ - sig/phronomy/generation/low_confidence_error.rbs
521
748
  - sig/phronomy/handoff.rbs
522
- - sig/phronomy/llm_adapter.rbs
749
+ - sig/phronomy/integrations.rbs
750
+ - sig/phronomy/llm_adapter/backends/ruby_llm.rbs
751
+ - sig/phronomy/llm_adapter/base.rbs
752
+ - sig/phronomy/llm_adapter/usage.rbs
753
+ - sig/phronomy/llm_adapter/values.rbs
754
+ - sig/phronomy/llm_context_window.rbs
523
755
  - sig/phronomy/multi_agent.rbs
756
+ - sig/phronomy/multi_agent/reserved_child_admission.rbs
757
+ - sig/phronomy/multi_agent/store.rbs
758
+ - sig/phronomy/multi_agent/team_busy_error.rbs
759
+ - sig/phronomy/multi_agent/team_not_found_error.rbs
524
760
  - sig/phronomy/persistence.rbs
525
- - sig/phronomy/runtime.rbs
526
- - sig/phronomy/storage.rbs
761
+ - sig/phronomy/persistence/errors.rbs
762
+ - sig/phronomy/persistence/migration.rbs
763
+ - sig/phronomy/persistence/transaction.rbs
764
+ - sig/phronomy/persistence_composition.rbs
765
+ - sig/phronomy/runtime_composition/configuration.rbs
766
+ - sig/phronomy/storage/async/async_client.rbs
767
+ - sig/phronomy/storage/backends/in_memory.rbs
768
+ - sig/phronomy/storage/contracts.rbs
527
769
  - sig/phronomy/tool.rbs
770
+ - sig/phronomy/tracing/observation.rbs
771
+ - sig/phronomy/vector_store/async/async_client.rbs
772
+ - sig/phronomy/vector_store/base.rbs
528
773
  - sig/phronomy/workflow.rbs
774
+ - sig/phronomy/workflow/execution/workflow_execution_environment.rbs
775
+ - sig/phronomy/workflow/runtime_binding/workflow_terminal_policy.rbs
776
+ - sig/phronomy/workflow/store.rbs
529
777
  homepage: https://github.com/Raizo-TCS/phronomy
530
778
  licenses:
531
779
  - MIT