robot_lab 0.0.12 → 0.2.1

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 (243) hide show
  1. checksums.yaml +4 -4
  2. data/.architecture/AGENTS.md +32 -0
  3. data/.architecture/config.yml +8 -0
  4. data/.architecture/members.yml +60 -0
  5. data/.architecture/reviews/feature-free-will.md +490 -0
  6. data/.architecture/reviews/overall-codebase.md +427 -0
  7. data/.claude/settings.local.json +57 -0
  8. data/.codex/config.toml +2 -0
  9. data/.irbrc +2 -2
  10. data/.rubocop.yml +172 -0
  11. data/CHANGELOG.md +108 -0
  12. data/CLAUDE.md +139 -0
  13. data/README.md +91 -45
  14. data/Rakefile +109 -3
  15. data/agent2agent_review.md +192 -0
  16. data/agentf_improvements.md +253 -0
  17. data/agents.md +14 -0
  18. data/docs/api/messages/index.md +21 -0
  19. data/docs/examples/index.md +37 -2
  20. data/docs/getting-started/configuration.md +20 -7
  21. data/docs/guides/creating-networks.md +23 -0
  22. data/docs/guides/index.md +16 -16
  23. data/docs/guides/knowledge.md +7 -1
  24. data/docs/guides/observability.md +132 -0
  25. data/docs/index.md +30 -3
  26. data/docs/superpowers/plans/2026-05-06-agentskills.md +1303 -0
  27. data/docs/superpowers/specs/2026-05-06-agentskills-design.md +247 -0
  28. data/examples/.envrc +1 -0
  29. data/examples/01_simple_robot.rb +5 -9
  30. data/examples/02_tools.rb +5 -9
  31. data/examples/03_network.rb +8 -9
  32. data/examples/04_mcp.rb +21 -29
  33. data/examples/05_streaming.rb +12 -18
  34. data/examples/06_prompt_templates.rb +11 -19
  35. data/examples/07_network_memory.rb +16 -31
  36. data/examples/08_llm_config.rb +10 -22
  37. data/examples/09_chaining.rb +16 -27
  38. data/examples/10_memory.rb +12 -28
  39. data/examples/11_network_introspection.rb +15 -29
  40. data/examples/12_message_bus.rb +5 -12
  41. data/examples/13_spawn.rb +5 -10
  42. data/examples/14_rusty_circuit/.envrc +1 -0
  43. data/examples/14_rusty_circuit/comic.rb +2 -0
  44. data/examples/14_rusty_circuit/heckler.rb +1 -1
  45. data/examples/14_rusty_circuit/open_mic.rb +1 -3
  46. data/examples/14_rusty_circuit/scout.rb +2 -0
  47. data/examples/15_memory_network_and_bus/.envrc +1 -0
  48. data/examples/15_memory_network_and_bus/editorial_pipeline.rb +6 -3
  49. data/examples/15_memory_network_and_bus/linux_writer.rb +1 -1
  50. data/examples/15_memory_network_and_bus/output/combined_article.md +6 -6
  51. data/examples/15_memory_network_and_bus/output/final_article.md +6 -8
  52. data/examples/15_memory_network_and_bus/output/linux_draft.md +4 -2
  53. data/examples/15_memory_network_and_bus/output/mac_draft.md +3 -3
  54. data/examples/15_memory_network_and_bus/output/memory.json +6 -6
  55. data/examples/15_memory_network_and_bus/output/revision_1.md +10 -11
  56. data/examples/15_memory_network_and_bus/output/revision_2.md +6 -8
  57. data/examples/15_memory_network_and_bus/output/windows_draft.md +3 -3
  58. data/examples/16_writers_room/.envrc +1 -0
  59. data/examples/16_writers_room/writers_room.rb +2 -4
  60. data/examples/17_skills.rb +8 -17
  61. data/examples/18_rails/Gemfile +1 -0
  62. data/examples/18_rails/app/jobs/robot_run_job.rb +15 -75
  63. data/examples/19_token_tracking.rb +9 -15
  64. data/examples/20_circuit_breaker.rb +10 -19
  65. data/examples/21_learning_loop.rb +11 -20
  66. data/examples/22_context_compression.rb +6 -13
  67. data/examples/23_convergence.rb +6 -17
  68. data/examples/24_structured_delegation.rb +11 -15
  69. data/examples/25_history_search.rb +5 -12
  70. data/examples/26_document_store.rb +6 -13
  71. data/examples/27_incident_response/incident_response.rb +4 -5
  72. data/examples/28_mcp_discovery.rb +8 -11
  73. data/examples/29_ractor_tools.rb +4 -9
  74. data/examples/30_ractor_network.rb +10 -19
  75. data/examples/31_launch_assessment.rb +235 -0
  76. data/examples/32_newsletter_reader.rb +188 -0
  77. data/examples/33_stock_generator.rb +80 -0
  78. data/examples/33_stock_predictor.rb +306 -0
  79. data/examples/34_agentskills.rb +72 -0
  80. data/examples/README.md +10 -1
  81. data/examples/common.rb +76 -0
  82. data/examples/ruboruby.md +423 -0
  83. data/examples/temp.md +51 -0
  84. data/lib/robot_lab/agent_skill.rb +63 -0
  85. data/lib/robot_lab/agent_skill_catalog.rb +74 -0
  86. data/lib/robot_lab/ask_user.rb +2 -2
  87. data/lib/robot_lab/bus_poller.rb +12 -5
  88. data/lib/robot_lab/config.rb +1 -12
  89. data/lib/robot_lab/delegation_future.rb +1 -1
  90. data/lib/robot_lab/doom_loop_detector.rb +98 -0
  91. data/lib/robot_lab/history_compressor.rb +4 -10
  92. data/lib/robot_lab/mcp/client.rb +1 -2
  93. data/lib/robot_lab/mcp/connection_poller.rb +3 -3
  94. data/lib/robot_lab/mcp/server.rb +1 -1
  95. data/lib/robot_lab/mcp/server_discovery.rb +0 -2
  96. data/lib/robot_lab/memory.rb +32 -27
  97. data/lib/robot_lab/memory_change.rb +2 -2
  98. data/lib/robot_lab/message.rb +5 -5
  99. data/lib/robot_lab/network.rb +12 -7
  100. data/lib/robot_lab/robot/agent_skill_matching.rb +99 -0
  101. data/lib/robot_lab/robot/bus_messaging.rb +9 -27
  102. data/lib/robot_lab/robot/history_search.rb +4 -1
  103. data/lib/robot_lab/robot/mcp_management.rb +5 -11
  104. data/lib/robot_lab/robot/template_rendering.rb +60 -40
  105. data/lib/robot_lab/robot.rb +323 -206
  106. data/lib/robot_lab/robot_result.rb +6 -5
  107. data/lib/robot_lab/run_config.rb +5 -11
  108. data/lib/robot_lab/script_tool.rb +76 -0
  109. data/lib/robot_lab/state_proxy.rb +7 -5
  110. data/lib/robot_lab/tool.rb +3 -3
  111. data/lib/robot_lab/tool_config.rb +1 -1
  112. data/lib/robot_lab/tool_manifest.rb +5 -7
  113. data/lib/robot_lab/user_message.rb +2 -2
  114. data/lib/robot_lab/version.rb +1 -1
  115. data/lib/robot_lab/waiter.rb +1 -1
  116. data/lib/robot_lab.rb +41 -48
  117. data/logfile +8 -0
  118. data/mkdocs.yml +2 -3
  119. data/robot_concurrency.md +38 -0
  120. data/simple_acp_review.md +298 -0
  121. data/site/404.html +2300 -0
  122. data/site/api/core/index.html +2706 -0
  123. data/site/api/core/memory/index.html +3793 -0
  124. data/site/api/core/network/index.html +3500 -0
  125. data/site/api/core/robot/index.html +4566 -0
  126. data/site/api/core/state/index.html +3390 -0
  127. data/site/api/core/tool/index.html +3843 -0
  128. data/site/api/index.html +2635 -0
  129. data/site/api/mcp/client/index.html +3435 -0
  130. data/site/api/mcp/index.html +2783 -0
  131. data/site/api/mcp/server/index.html +3252 -0
  132. data/site/api/mcp/transports/index.html +3352 -0
  133. data/site/api/messages/index.html +2641 -0
  134. data/site/api/messages/text-message/index.html +3087 -0
  135. data/site/api/messages/tool-call-message/index.html +3159 -0
  136. data/site/api/messages/tool-result-message/index.html +3252 -0
  137. data/site/api/messages/user-message/index.html +3212 -0
  138. data/site/api/streaming/context/index.html +3282 -0
  139. data/site/api/streaming/events/index.html +3347 -0
  140. data/site/api/streaming/index.html +2738 -0
  141. data/site/architecture/core-concepts/index.html +3757 -0
  142. data/site/architecture/index.html +2797 -0
  143. data/site/architecture/message-flow/index.html +3238 -0
  144. data/site/architecture/network-orchestration/index.html +3433 -0
  145. data/site/architecture/robot-execution/index.html +3140 -0
  146. data/site/architecture/state-management/index.html +3498 -0
  147. data/site/assets/css/custom.css +56 -0
  148. data/site/assets/images/favicon.png +0 -0
  149. data/site/assets/images/robot_lab.jpg +0 -0
  150. data/site/assets/javascripts/bundle.79ae519e.min.js +16 -0
  151. data/site/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
  152. data/site/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  153. data/site/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  154. data/site/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  155. data/site/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  156. data/site/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  157. data/site/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  158. data/site/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  159. data/site/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  160. data/site/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  161. data/site/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  162. data/site/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  163. data/site/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  164. data/site/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  165. data/site/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  166. data/site/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  167. data/site/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  168. data/site/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  169. data/site/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  170. data/site/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  171. data/site/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  172. data/site/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  173. data/site/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  174. data/site/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  175. data/site/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  176. data/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  177. data/site/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  178. data/site/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  179. data/site/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  180. data/site/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  181. data/site/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  182. data/site/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  183. data/site/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  184. data/site/assets/javascripts/lunr/tinyseg.js +206 -0
  185. data/site/assets/javascripts/lunr/wordcut.js +6708 -0
  186. data/site/assets/javascripts/workers/search.2c215733.min.js +42 -0
  187. data/site/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
  188. data/site/assets/stylesheets/main.484c7ddc.min.css +1 -0
  189. data/site/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
  190. data/site/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  191. data/site/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
  192. data/site/concepts/index.html +3455 -0
  193. data/site/examples/basic-chat/index.html +2880 -0
  194. data/site/examples/index.html +2907 -0
  195. data/site/examples/mcp-server/index.html +3018 -0
  196. data/site/examples/multi-robot-network/index.html +3131 -0
  197. data/site/examples/rails-application/index.html +3329 -0
  198. data/site/examples/tool-usage/index.html +3085 -0
  199. data/site/getting-started/configuration/index.html +3745 -0
  200. data/site/getting-started/index.html +2572 -0
  201. data/site/getting-started/installation/index.html +2981 -0
  202. data/site/getting-started/quick-start/index.html +2942 -0
  203. data/site/guides/building-robots/index.html +4290 -0
  204. data/site/guides/creating-networks/index.html +3858 -0
  205. data/site/guides/index.html +2586 -0
  206. data/site/guides/mcp-integration/index.html +3581 -0
  207. data/site/guides/memory/index.html +3586 -0
  208. data/site/guides/rails-integration/index.html +4019 -0
  209. data/site/guides/streaming/index.html +3157 -0
  210. data/site/guides/using-tools/index.html +3802 -0
  211. data/site/index.html +2671 -0
  212. data/site/search/search_index.json +1 -0
  213. data/site/sitemap.xml +183 -0
  214. data/site/sitemap.xml.gz +0 -0
  215. data/site/tags.json +1 -0
  216. data/temp.md +6 -0
  217. data/tool_manifest_plan.md +155 -0
  218. metadata +155 -90
  219. data/.github/workflows/deploy-yard-docs.yml +0 -52
  220. data/docs/examples/rails-application.md +0 -419
  221. data/docs/guides/ractor-parallelism.md +0 -364
  222. data/docs/guides/rails-integration.md +0 -642
  223. data/docs/superpowers/plans/2026-04-14-ractor-integration.md +0 -1538
  224. data/docs/superpowers/specs/2026-04-14-ractor-integration-design.md +0 -258
  225. data/lib/generators/robot_lab/install_generator.rb +0 -90
  226. data/lib/generators/robot_lab/robot_generator.rb +0 -55
  227. data/lib/generators/robot_lab/templates/initializer.rb.tt +0 -42
  228. data/lib/generators/robot_lab/templates/job.rb.tt +0 -92
  229. data/lib/generators/robot_lab/templates/migration.rb.tt +0 -32
  230. data/lib/generators/robot_lab/templates/result_model.rb.tt +0 -52
  231. data/lib/generators/robot_lab/templates/robot.rb.tt +0 -31
  232. data/lib/generators/robot_lab/templates/robot_test.rb.tt +0 -34
  233. data/lib/generators/robot_lab/templates/routing_robot.rb.tt +0 -59
  234. data/lib/generators/robot_lab/templates/thread_model.rb.tt +0 -40
  235. data/lib/robot_lab/document_store.rb +0 -155
  236. data/lib/robot_lab/ractor_boundary.rb +0 -42
  237. data/lib/robot_lab/ractor_job.rb +0 -37
  238. data/lib/robot_lab/ractor_memory_proxy.rb +0 -85
  239. data/lib/robot_lab/ractor_network_scheduler.rb +0 -154
  240. data/lib/robot_lab/ractor_worker_pool.rb +0 -117
  241. data/lib/robot_lab/rails_integration/engine.rb +0 -29
  242. data/lib/robot_lab/rails_integration/railtie.rb +0 -42
  243. data/lib/robot_lab/rails_integration/turbo_stream_callbacks.rb +0 -72
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: robot_lab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dewayne VanHoozer
@@ -55,16 +55,16 @@ dependencies:
55
55
  name: ruby_llm-mcp
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0'
60
+ version: '1.0'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ">="
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0'
67
+ version: '1.0'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: prompt_manager
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -83,44 +83,30 @@ dependencies:
83
83
  name: ruby_llm-schema
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - ">="
86
+ - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '0'
88
+ version: '0.3'
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - ">="
93
+ - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '0'
95
+ version: '0.3'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: ruby_llm-semantic_cache
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- type: :runtime
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: fastembed
112
- requirement: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
100
+ - - "~>"
115
101
  - !ruby/object:Gem::Version
116
- version: '0'
102
+ version: '0.1'
117
103
  type: :runtime
118
104
  prerelease: false
119
105
  version_requirements: !ruby/object:Gem::Requirement
120
106
  requirements:
121
- - - ">="
107
+ - - "~>"
122
108
  - !ruby/object:Gem::Version
123
- version: '0'
109
+ version: '0.1'
124
110
  - !ruby/object:Gem::Dependency
125
111
  name: async
126
112
  requirement: !ruby/object:Gem::Requirement
@@ -139,58 +125,30 @@ dependencies:
139
125
  name: typed_bus
140
126
  requirement: !ruby/object:Gem::Requirement
141
127
  requirements:
142
- - - ">="
128
+ - - "~>"
143
129
  - !ruby/object:Gem::Version
144
- version: '0'
130
+ version: 0.0.1
145
131
  type: :runtime
146
132
  prerelease: false
147
133
  version_requirements: !ruby/object:Gem::Requirement
148
134
  requirements:
149
- - - ">="
135
+ - - "~>"
150
136
  - !ruby/object:Gem::Version
151
- version: '0'
137
+ version: 0.0.1
152
138
  - !ruby/object:Gem::Dependency
153
139
  name: simple_flow
154
140
  requirement: !ruby/object:Gem::Requirement
155
141
  requirements:
156
142
  - - "~>"
157
143
  - !ruby/object:Gem::Version
158
- version: 0.3.0
144
+ version: '0.4'
159
145
  type: :runtime
160
146
  prerelease: false
161
147
  version_requirements: !ruby/object:Gem::Requirement
162
148
  requirements:
163
149
  - - "~>"
164
150
  - !ruby/object:Gem::Version
165
- version: 0.3.0
166
- - !ruby/object:Gem::Dependency
167
- name: ractor_queue
168
- requirement: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- type: :runtime
174
- prerelease: false
175
- version_requirements: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '0'
180
- - !ruby/object:Gem::Dependency
181
- name: ractor-wrapper
182
- requirement: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: '0'
187
- type: :runtime
188
- prerelease: false
189
- version_requirements: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: '0'
151
+ version: '0.4'
194
152
  - !ruby/object:Gem::Dependency
195
153
  name: async-http
196
154
  requirement: !ruby/object:Gem::Requirement
@@ -223,24 +181,36 @@ description: |
223
181
  RobotLab is a Ruby framework for building and orchestrating multi-robot LLM workflows.
224
182
  Built on ruby_llm, it provides robots with template-based prompts, tools, and shared
225
183
  memory; networks for coordinating multiple robots with intelligent routing; MCP (Model
226
- Context Protocol) integration for external tool servers; a memory system with Redis
227
- backend and semantic caching; and Rails integration with generators and ActiveRecord-
228
- backed conversation history.
184
+ Context Protocol) integration for external tool servers; and a memory system with Redis
185
+ backend and semantic caching. Optional gems add Rails integration (robot_lab-rails),
186
+ durable learning (robot_lab-durable), Ractor concurrency (robot_lab-ractor), and
187
+ document storage (robot_lab-document_store).
229
188
  email:
230
189
  - dewayne@vanhoozer.me
231
190
  executables: []
232
191
  extensions: []
233
192
  extra_rdoc_files: []
234
193
  files:
194
+ - ".architecture/AGENTS.md"
195
+ - ".architecture/config.yml"
196
+ - ".architecture/members.yml"
197
+ - ".architecture/reviews/feature-free-will.md"
198
+ - ".architecture/reviews/overall-codebase.md"
199
+ - ".claude/settings.local.json"
200
+ - ".codex/config.toml"
235
201
  - ".envrc"
236
202
  - ".github/workflows/deploy-github-pages.yml"
237
- - ".github/workflows/deploy-yard-docs.yml"
238
203
  - ".irbrc"
204
+ - ".rubocop.yml"
239
205
  - CHANGELOG.md
206
+ - CLAUDE.md
240
207
  - COMMITS.md
241
208
  - LICENSE.txt
242
209
  - README.md
243
210
  - Rakefile
211
+ - agent2agent_review.md
212
+ - agentf_improvements.md
213
+ - agents.md
244
214
  - docs/api/core/index.md
245
215
  - docs/api/core/memory.md
246
216
  - docs/api/core/network.md
@@ -275,7 +245,6 @@ files:
275
245
  - docs/examples/index.md
276
246
  - docs/examples/mcp-server.md
277
247
  - docs/examples/multi-robot-network.md
278
- - docs/examples/rails-application.md
279
248
  - docs/examples/tool-usage.md
280
249
  - docs/getting-started/configuration.md
281
250
  - docs/getting-started/index.md
@@ -288,13 +257,12 @@ files:
288
257
  - docs/guides/mcp-integration.md
289
258
  - docs/guides/memory.md
290
259
  - docs/guides/observability.md
291
- - docs/guides/ractor-parallelism.md
292
- - docs/guides/rails-integration.md
293
260
  - docs/guides/streaming.md
294
261
  - docs/guides/using-tools.md
295
262
  - docs/index.md
296
- - docs/superpowers/plans/2026-04-14-ractor-integration.md
297
- - docs/superpowers/specs/2026-04-14-ractor-integration-design.md
263
+ - docs/superpowers/plans/2026-05-06-agentskills.md
264
+ - docs/superpowers/specs/2026-05-06-agentskills-design.md
265
+ - examples/.envrc
298
266
  - examples/01_simple_robot.rb
299
267
  - examples/02_tools.rb
300
268
  - examples/03_network.rb
@@ -308,6 +276,7 @@ files:
308
276
  - examples/11_network_introspection.rb
309
277
  - examples/12_message_bus.rb
310
278
  - examples/13_spawn.rb
279
+ - examples/14_rusty_circuit/.envrc
311
280
  - examples/14_rusty_circuit/.gitignore
312
281
  - examples/14_rusty_circuit/comic.rb
313
282
  - examples/14_rusty_circuit/display.rb
@@ -318,6 +287,7 @@ files:
318
287
  - examples/14_rusty_circuit/prompts/open_mic_scout.md
319
288
  - examples/14_rusty_circuit/scout.rb
320
289
  - examples/14_rusty_circuit/show.log
290
+ - examples/15_memory_network_and_bus/.envrc
321
291
  - examples/15_memory_network_and_bus/editor_in_chief.rb
322
292
  - examples/15_memory_network_and_bus/editorial_pipeline.rb
323
293
  - examples/15_memory_network_and_bus/linux_writer.rb
@@ -334,6 +304,7 @@ files:
334
304
  - examples/15_memory_network_and_bus/prompts/os_advocate.md
335
305
  - examples/15_memory_network_and_bus/prompts/os_chief.md
336
306
  - examples/15_memory_network_and_bus/prompts/os_editor.md
307
+ - examples/16_writers_room/.envrc
337
308
  - examples/16_writers_room/display.rb
338
309
  - examples/16_writers_room/output/.gitignore
339
310
  - examples/16_writers_room/output/README.md
@@ -396,7 +367,13 @@ files:
396
367
  - examples/28_mcp_discovery.rb
397
368
  - examples/29_ractor_tools.rb
398
369
  - examples/30_ractor_network.rb
370
+ - examples/31_launch_assessment.rb
371
+ - examples/32_newsletter_reader.rb
372
+ - examples/33_stock_generator.rb
373
+ - examples/33_stock_predictor.rb
374
+ - examples/34_agentskills.rb
399
375
  - examples/README.md
376
+ - examples/common.rb
400
377
  - examples/prompts/assistant.md
401
378
  - examples/prompts/audit_trail.md
402
379
  - examples/prompts/billing.md
@@ -445,24 +422,18 @@ files:
445
422
  - examples/prompts/technical.md
446
423
  - examples/prompts/template_with_skills_test.md
447
424
  - examples/prompts/triage.md
448
- - lib/generators/robot_lab/install_generator.rb
449
- - lib/generators/robot_lab/robot_generator.rb
450
- - lib/generators/robot_lab/templates/initializer.rb.tt
451
- - lib/generators/robot_lab/templates/job.rb.tt
452
- - lib/generators/robot_lab/templates/migration.rb.tt
453
- - lib/generators/robot_lab/templates/result_model.rb.tt
454
- - lib/generators/robot_lab/templates/robot.rb.tt
455
- - lib/generators/robot_lab/templates/robot_test.rb.tt
456
- - lib/generators/robot_lab/templates/routing_robot.rb.tt
457
- - lib/generators/robot_lab/templates/thread_model.rb.tt
425
+ - examples/ruboruby.md
426
+ - examples/temp.md
458
427
  - lib/robot_lab.rb
428
+ - lib/robot_lab/agent_skill.rb
429
+ - lib/robot_lab/agent_skill_catalog.rb
459
430
  - lib/robot_lab/ask_user.rb
460
431
  - lib/robot_lab/bus_poller.rb
461
432
  - lib/robot_lab/config.rb
462
433
  - lib/robot_lab/config/defaults.yml
463
434
  - lib/robot_lab/convergence.rb
464
435
  - lib/robot_lab/delegation_future.rb
465
- - lib/robot_lab/document_store.rb
436
+ - lib/robot_lab/doom_loop_detector.rb
466
437
  - lib/robot_lab/error.rb
467
438
  - lib/robot_lab/history_compressor.rb
468
439
  - lib/robot_lab/mcp/client.rb
@@ -478,15 +449,8 @@ files:
478
449
  - lib/robot_lab/memory_change.rb
479
450
  - lib/robot_lab/message.rb
480
451
  - lib/robot_lab/network.rb
481
- - lib/robot_lab/ractor_boundary.rb
482
- - lib/robot_lab/ractor_job.rb
483
- - lib/robot_lab/ractor_memory_proxy.rb
484
- - lib/robot_lab/ractor_network_scheduler.rb
485
- - lib/robot_lab/ractor_worker_pool.rb
486
- - lib/robot_lab/rails_integration/engine.rb
487
- - lib/robot_lab/rails_integration/railtie.rb
488
- - lib/robot_lab/rails_integration/turbo_stream_callbacks.rb
489
452
  - lib/robot_lab/robot.rb
453
+ - lib/robot_lab/robot/agent_skill_matching.rb
490
454
  - lib/robot_lab/robot/bus_messaging.rb
491
455
  - lib/robot_lab/robot/history_search.rb
492
456
  - lib/robot_lab/robot/mcp_management.rb
@@ -494,6 +458,7 @@ files:
494
458
  - lib/robot_lab/robot_message.rb
495
459
  - lib/robot_lab/robot_result.rb
496
460
  - lib/robot_lab/run_config.rb
461
+ - lib/robot_lab/script_tool.rb
497
462
  - lib/robot_lab/state_proxy.rb
498
463
  - lib/robot_lab/streaming/context.rb
499
464
  - lib/robot_lab/streaming/events.rb
@@ -507,8 +472,108 @@ files:
507
472
  - lib/robot_lab/utils.rb
508
473
  - lib/robot_lab/version.rb
509
474
  - lib/robot_lab/waiter.rb
475
+ - logfile
510
476
  - mkdocs.yml
477
+ - robot_concurrency.md
511
478
  - sig/robot_lab.rbs
479
+ - simple_acp_review.md
480
+ - site/404.html
481
+ - site/api/core/index.html
482
+ - site/api/core/memory/index.html
483
+ - site/api/core/network/index.html
484
+ - site/api/core/robot/index.html
485
+ - site/api/core/state/index.html
486
+ - site/api/core/tool/index.html
487
+ - site/api/index.html
488
+ - site/api/mcp/client/index.html
489
+ - site/api/mcp/index.html
490
+ - site/api/mcp/server/index.html
491
+ - site/api/mcp/transports/index.html
492
+ - site/api/messages/index.html
493
+ - site/api/messages/text-message/index.html
494
+ - site/api/messages/tool-call-message/index.html
495
+ - site/api/messages/tool-result-message/index.html
496
+ - site/api/messages/user-message/index.html
497
+ - site/api/streaming/context/index.html
498
+ - site/api/streaming/events/index.html
499
+ - site/api/streaming/index.html
500
+ - site/architecture/core-concepts/index.html
501
+ - site/architecture/index.html
502
+ - site/architecture/message-flow/index.html
503
+ - site/architecture/network-orchestration/index.html
504
+ - site/architecture/robot-execution/index.html
505
+ - site/architecture/state-management/index.html
506
+ - site/assets/css/custom.css
507
+ - site/assets/images/favicon.png
508
+ - site/assets/images/robot_lab.jpg
509
+ - site/assets/javascripts/bundle.79ae519e.min.js
510
+ - site/assets/javascripts/bundle.79ae519e.min.js.map
511
+ - site/assets/javascripts/lunr/min/lunr.ar.min.js
512
+ - site/assets/javascripts/lunr/min/lunr.da.min.js
513
+ - site/assets/javascripts/lunr/min/lunr.de.min.js
514
+ - site/assets/javascripts/lunr/min/lunr.du.min.js
515
+ - site/assets/javascripts/lunr/min/lunr.el.min.js
516
+ - site/assets/javascripts/lunr/min/lunr.es.min.js
517
+ - site/assets/javascripts/lunr/min/lunr.fi.min.js
518
+ - site/assets/javascripts/lunr/min/lunr.fr.min.js
519
+ - site/assets/javascripts/lunr/min/lunr.he.min.js
520
+ - site/assets/javascripts/lunr/min/lunr.hi.min.js
521
+ - site/assets/javascripts/lunr/min/lunr.hu.min.js
522
+ - site/assets/javascripts/lunr/min/lunr.hy.min.js
523
+ - site/assets/javascripts/lunr/min/lunr.it.min.js
524
+ - site/assets/javascripts/lunr/min/lunr.ja.min.js
525
+ - site/assets/javascripts/lunr/min/lunr.jp.min.js
526
+ - site/assets/javascripts/lunr/min/lunr.kn.min.js
527
+ - site/assets/javascripts/lunr/min/lunr.ko.min.js
528
+ - site/assets/javascripts/lunr/min/lunr.multi.min.js
529
+ - site/assets/javascripts/lunr/min/lunr.nl.min.js
530
+ - site/assets/javascripts/lunr/min/lunr.no.min.js
531
+ - site/assets/javascripts/lunr/min/lunr.pt.min.js
532
+ - site/assets/javascripts/lunr/min/lunr.ro.min.js
533
+ - site/assets/javascripts/lunr/min/lunr.ru.min.js
534
+ - site/assets/javascripts/lunr/min/lunr.sa.min.js
535
+ - site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js
536
+ - site/assets/javascripts/lunr/min/lunr.sv.min.js
537
+ - site/assets/javascripts/lunr/min/lunr.ta.min.js
538
+ - site/assets/javascripts/lunr/min/lunr.te.min.js
539
+ - site/assets/javascripts/lunr/min/lunr.th.min.js
540
+ - site/assets/javascripts/lunr/min/lunr.tr.min.js
541
+ - site/assets/javascripts/lunr/min/lunr.vi.min.js
542
+ - site/assets/javascripts/lunr/min/lunr.zh.min.js
543
+ - site/assets/javascripts/lunr/tinyseg.js
544
+ - site/assets/javascripts/lunr/wordcut.js
545
+ - site/assets/javascripts/workers/search.2c215733.min.js
546
+ - site/assets/javascripts/workers/search.2c215733.min.js.map
547
+ - site/assets/stylesheets/main.484c7ddc.min.css
548
+ - site/assets/stylesheets/main.484c7ddc.min.css.map
549
+ - site/assets/stylesheets/palette.ab4e12ef.min.css
550
+ - site/assets/stylesheets/palette.ab4e12ef.min.css.map
551
+ - site/concepts/index.html
552
+ - site/examples/basic-chat/index.html
553
+ - site/examples/index.html
554
+ - site/examples/mcp-server/index.html
555
+ - site/examples/multi-robot-network/index.html
556
+ - site/examples/rails-application/index.html
557
+ - site/examples/tool-usage/index.html
558
+ - site/getting-started/configuration/index.html
559
+ - site/getting-started/index.html
560
+ - site/getting-started/installation/index.html
561
+ - site/getting-started/quick-start/index.html
562
+ - site/guides/building-robots/index.html
563
+ - site/guides/creating-networks/index.html
564
+ - site/guides/index.html
565
+ - site/guides/mcp-integration/index.html
566
+ - site/guides/memory/index.html
567
+ - site/guides/rails-integration/index.html
568
+ - site/guides/streaming/index.html
569
+ - site/guides/using-tools/index.html
570
+ - site/index.html
571
+ - site/search/search_index.json
572
+ - site/sitemap.xml
573
+ - site/sitemap.xml.gz
574
+ - site/tags.json
575
+ - temp.md
576
+ - tool_manifest_plan.md
512
577
  homepage: https://github.com/MadBomber/robot_lab
513
578
  licenses:
514
579
  - MIT
@@ -534,7 +599,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
534
599
  - !ruby/object:Gem::Version
535
600
  version: '0'
536
601
  requirements: []
537
- rubygems_version: 4.0.10
602
+ rubygems_version: 4.0.11
538
603
  specification_version: 4
539
604
  summary: Ruby framework for building and orchestrating multi-robot LLM workflows
540
605
  test_files: []
@@ -1,52 +0,0 @@
1
- name: Deploy YARD Documentation to GitHub Pages
2
- on:
3
- push:
4
- branches:
5
- - main
6
- - develop
7
- paths:
8
- - "lib/**"
9
- - "docs/assets/**"
10
- - ".yardopts"
11
- - "*.gemspec"
12
- - ".github/workflows/deploy-yard-docs.yml"
13
- workflow_dispatch:
14
-
15
- permissions:
16
- contents: write
17
- pages: write
18
- id-token: write
19
-
20
- jobs:
21
- deploy:
22
- runs-on: ubuntu-latest
23
- steps:
24
- - name: Checkout code
25
- uses: actions/checkout@v4
26
- with:
27
- fetch-depth: 0
28
-
29
- - name: Setup Ruby
30
- uses: ruby/setup-ruby@v1
31
- with:
32
- ruby-version: "3.3"
33
- bundler-cache: true
34
-
35
- - name: Install YARD
36
- run: gem install yard
37
-
38
- - name: Build YARD documentation
39
- run: yard doc
40
-
41
- - name: Configure Git
42
- run: |
43
- git config --local user.email "action@github.com"
44
- git config --local user.name "GitHub Action"
45
-
46
- - name: Deploy to GitHub Pages
47
- uses: peaceiris/actions-gh-pages@v4
48
- with:
49
- github_token: ${{ secrets.GITHUB_TOKEN }}
50
- publish_dir: ./doc
51
- destination_dir: yard
52
- keep_files: true