robot_lab 0.2.8 → 0.3.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 (262) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/README.md +16 -18
  4. data/lib/robot_lab/ask_user.rb +3 -3
  5. data/lib/robot_lab/config/defaults.yml +5 -5
  6. data/lib/robot_lab/config.rb +2 -2
  7. data/lib/robot_lab/mcp/transports/streamable_http.rb +2 -4
  8. data/lib/robot_lab/memory.rb +16 -7
  9. data/lib/robot_lab/robot/hooking.rb +26 -0
  10. data/lib/robot_lab/robot/result_building.rb +119 -0
  11. data/lib/robot_lab/robot.rb +37 -120
  12. data/lib/robot_lab/run_config.rb +52 -20
  13. data/lib/robot_lab/tool.rb +7 -12
  14. data/lib/robot_lab/version.rb +1 -1
  15. data/lib/robot_lab.rb +3 -3
  16. metadata +15 -274
  17. data/.architecture/AGENTS.md +0 -32
  18. data/.architecture/config.yml +0 -8
  19. data/.architecture/members.yml +0 -60
  20. data/.architecture/reviews/feature-free-will.md +0 -490
  21. data/.architecture/reviews/overall-codebase.md +0 -427
  22. data/.claude/settings.local.json +0 -57
  23. data/.codex/config.toml +0 -2
  24. data/.envrc +0 -6
  25. data/.github/workflows/deploy-github-pages.yml +0 -52
  26. data/.irbrc +0 -6
  27. data/.loki +0 -65
  28. data/.quality/reek_baseline.txt +0 -43
  29. data/.rubocop.yml +0 -10
  30. data/Archspec.rb +0 -44
  31. data/CLAUDE.md +0 -139
  32. data/COMMITS.md +0 -196
  33. data/Rakefile +0 -193
  34. data/_typos.toml +0 -21
  35. data/agent2agent_review.md +0 -192
  36. data/agentf_improvements.md +0 -253
  37. data/agents.md +0 -14
  38. data/docs/api/core/index.md +0 -147
  39. data/docs/api/core/memory.md +0 -578
  40. data/docs/api/core/network.md +0 -553
  41. data/docs/api/core/result.md +0 -211
  42. data/docs/api/core/robot.md +0 -1667
  43. data/docs/api/core/state.md +0 -145
  44. data/docs/api/core/tool.md +0 -520
  45. data/docs/api/errors.md +0 -323
  46. data/docs/api/hooks.md +0 -469
  47. data/docs/api/index.md +0 -137
  48. data/docs/api/mcp/client.md +0 -387
  49. data/docs/api/mcp/index.md +0 -267
  50. data/docs/api/mcp/server.md +0 -252
  51. data/docs/api/mcp/transports.md +0 -339
  52. data/docs/api/messages/index.md +0 -126
  53. data/docs/api/messages/text-message.md +0 -170
  54. data/docs/api/messages/tool-call-message.md +0 -206
  55. data/docs/api/messages/tool-result-message.md +0 -242
  56. data/docs/api/messages/user-message.md +0 -232
  57. data/docs/api/skills.md +0 -423
  58. data/docs/api/streaming/context.md +0 -280
  59. data/docs/api/streaming/events.md +0 -185
  60. data/docs/api/streaming/index.md +0 -156
  61. data/docs/api/support.md +0 -846
  62. data/docs/architecture/core-concepts.md +0 -575
  63. data/docs/architecture/index.md +0 -252
  64. data/docs/architecture/message-flow.md +0 -366
  65. data/docs/architecture/network-orchestration.md +0 -478
  66. data/docs/architecture/robot-execution.md +0 -396
  67. data/docs/architecture/state-management.md +0 -410
  68. data/docs/assets/css/custom.css +0 -56
  69. data/docs/assets/images/robot_lab.jpg +0 -0
  70. data/docs/concepts.md +0 -641
  71. data/docs/examples/basic-chat.md +0 -258
  72. data/docs/examples/index.md +0 -425
  73. data/docs/examples/mcp-server.md +0 -403
  74. data/docs/examples/multi-robot-network.md +0 -476
  75. data/docs/examples/tool-usage.md +0 -468
  76. data/docs/getting-started/configuration.md +0 -645
  77. data/docs/getting-started/index.md +0 -56
  78. data/docs/getting-started/installation.md +0 -200
  79. data/docs/getting-started/quick-start.md +0 -293
  80. data/docs/guides/building-robots.md +0 -1187
  81. data/docs/guides/creating-networks.md +0 -736
  82. data/docs/guides/hooks.md +0 -1206
  83. data/docs/guides/index.md +0 -78
  84. data/docs/guides/knowledge.md +0 -219
  85. data/docs/guides/mcp-integration.md +0 -740
  86. data/docs/guides/memory.md +0 -458
  87. data/docs/guides/observability.md +0 -733
  88. data/docs/guides/streaming.md +0 -323
  89. data/docs/guides/using-tools.md +0 -780
  90. data/docs/index.md +0 -280
  91. data/docs/superpowers/plans/2026-05-06-agentskills.md +0 -1303
  92. data/docs/superpowers/specs/2026-05-06-agentskills-design.md +0 -247
  93. data/examples/.envrc +0 -1
  94. data/examples/01_simple_robot.rb +0 -31
  95. data/examples/02_tools.rb +0 -109
  96. data/examples/03_network.rb +0 -118
  97. data/examples/04_mcp.rb +0 -215
  98. data/examples/05_streaming.rb +0 -137
  99. data/examples/06_prompt_templates.rb +0 -325
  100. data/examples/07_network_memory.rb +0 -313
  101. data/examples/08_llm_config.rb +0 -162
  102. data/examples/09_chaining.rb +0 -251
  103. data/examples/10_memory.rb +0 -315
  104. data/examples/11_network_introspection.rb +0 -239
  105. data/examples/12_message_bus.rb +0 -67
  106. data/examples/13_spawn.rb +0 -85
  107. data/examples/14_rusty_circuit/.envrc +0 -1
  108. data/examples/14_rusty_circuit/.gitignore +0 -1
  109. data/examples/14_rusty_circuit/README.md +0 -1
  110. data/examples/14_rusty_circuit/comic.rb +0 -149
  111. data/examples/14_rusty_circuit/display.rb +0 -217
  112. data/examples/14_rusty_circuit/heckler.rb +0 -65
  113. data/examples/14_rusty_circuit/open_mic.rb +0 -132
  114. data/examples/14_rusty_circuit/prompts/open_mic_comic.md +0 -20
  115. data/examples/14_rusty_circuit/prompts/open_mic_heckler.md +0 -23
  116. data/examples/14_rusty_circuit/prompts/open_mic_scout.md +0 -20
  117. data/examples/14_rusty_circuit/scout.rb +0 -165
  118. data/examples/14_rusty_circuit/show.log +0 -234
  119. data/examples/15_memory_network_and_bus/.envrc +0 -1
  120. data/examples/15_memory_network_and_bus/editor_in_chief.rb +0 -24
  121. data/examples/15_memory_network_and_bus/editorial_pipeline.rb +0 -213
  122. data/examples/15_memory_network_and_bus/linux_writer.rb +0 -80
  123. data/examples/15_memory_network_and_bus/os_editor.rb +0 -48
  124. data/examples/15_memory_network_and_bus/os_writer.rb +0 -49
  125. data/examples/15_memory_network_and_bus/output/combined_article.md +0 -13
  126. data/examples/15_memory_network_and_bus/output/final_article.md +0 -13
  127. data/examples/15_memory_network_and_bus/output/linux_draft.md +0 -7
  128. data/examples/15_memory_network_and_bus/output/mac_draft.md +0 -7
  129. data/examples/15_memory_network_and_bus/output/memory.json +0 -13
  130. data/examples/15_memory_network_and_bus/output/revision_1.md +0 -18
  131. data/examples/15_memory_network_and_bus/output/revision_2.md +0 -13
  132. data/examples/15_memory_network_and_bus/output/windows_draft.md +0 -7
  133. data/examples/15_memory_network_and_bus/prompts/os_advocate.md +0 -13
  134. data/examples/15_memory_network_and_bus/prompts/os_chief.md +0 -13
  135. data/examples/15_memory_network_and_bus/prompts/os_editor.md +0 -13
  136. data/examples/16_writers_room/.envrc +0 -1
  137. data/examples/16_writers_room/display.rb +0 -158
  138. data/examples/16_writers_room/output/.gitignore +0 -4
  139. data/examples/16_writers_room/output/README.md +0 -69
  140. data/examples/16_writers_room/output/opus_001.md +0 -263
  141. data/examples/16_writers_room/output/opus_001_notes.log +0 -470
  142. data/examples/16_writers_room/output/opus_002.md +0 -245
  143. data/examples/16_writers_room/output/opus_002_notes.log +0 -546
  144. data/examples/16_writers_room/output/opus_002_screenplay.md +0 -7989
  145. data/examples/16_writers_room/output/opus_002_screenplay_notes.md +0 -993
  146. data/examples/16_writers_room/prompts/screenplay_writer.md +0 -66
  147. data/examples/16_writers_room/prompts/writer.md +0 -37
  148. data/examples/16_writers_room/room.rb +0 -186
  149. data/examples/16_writers_room/tools.rb +0 -173
  150. data/examples/16_writers_room/writer.rb +0 -121
  151. data/examples/16_writers_room/writers_room.rb +0 -256
  152. data/examples/17_skills.rb +0 -234
  153. data/examples/18_rails/.envrc +0 -3
  154. data/examples/18_rails/.gitignore +0 -5
  155. data/examples/18_rails/Gemfile +0 -11
  156. data/examples/18_rails/README.md +0 -67
  157. data/examples/18_rails/Rakefile +0 -4
  158. data/examples/18_rails/app/controllers/application_controller.rb +0 -4
  159. data/examples/18_rails/app/controllers/chat_controller.rb +0 -50
  160. data/examples/18_rails/app/jobs/application_job.rb +0 -4
  161. data/examples/18_rails/app/jobs/robot_run_job.rb +0 -25
  162. data/examples/18_rails/app/models/application_record.rb +0 -5
  163. data/examples/18_rails/app/models/robot_lab_result.rb +0 -36
  164. data/examples/18_rails/app/models/robot_lab_thread.rb +0 -23
  165. data/examples/18_rails/app/robots/chat_robot.rb +0 -25
  166. data/examples/18_rails/app/tools/time_tool.rb +0 -9
  167. data/examples/18_rails/app/views/chat/_user_message.html.erb +0 -1
  168. data/examples/18_rails/app/views/chat/index.html.erb +0 -67
  169. data/examples/18_rails/app/views/layouts/application.html.erb +0 -49
  170. data/examples/18_rails/bin/dev +0 -7
  171. data/examples/18_rails/bin/rails +0 -6
  172. data/examples/18_rails/bin/setup +0 -15
  173. data/examples/18_rails/config/application.rb +0 -33
  174. data/examples/18_rails/config/cable.yml +0 -2
  175. data/examples/18_rails/config/database.yml +0 -5
  176. data/examples/18_rails/config/environment.rb +0 -4
  177. data/examples/18_rails/config/initializers/robot_lab.rb +0 -11
  178. data/examples/18_rails/config/routes.rb +0 -6
  179. data/examples/18_rails/config.ru +0 -4
  180. data/examples/18_rails/db/migrate/001_create_robot_lab_tables.rb +0 -32
  181. data/examples/19_token_tracking.rb +0 -138
  182. data/examples/20_circuit_breaker.rb +0 -147
  183. data/examples/21_learning_loop.rb +0 -181
  184. data/examples/22_context_compression.rb +0 -172
  185. data/examples/23_convergence.rb +0 -133
  186. data/examples/24_structured_delegation.rb +0 -151
  187. data/examples/25_history_search/conversation.jsonl +0 -30
  188. data/examples/25_history_search.rb +0 -133
  189. data/examples/26_document_store/api_versioning_adr.md +0 -52
  190. data/examples/26_document_store/incident_postmortem.md +0 -46
  191. data/examples/26_document_store/postgres_runbook.md +0 -49
  192. data/examples/26_document_store/redis_caching_guide.md +0 -48
  193. data/examples/26_document_store/sidekiq_guide.md +0 -51
  194. data/examples/26_document_store.rb +0 -140
  195. data/examples/27_incident_response/incident_response.rb +0 -261
  196. data/examples/28_mcp_discovery.rb +0 -113
  197. data/examples/29_ractor_tools.rb +0 -240
  198. data/examples/30_ractor_network.rb +0 -252
  199. data/examples/31_launch_assessment.rb +0 -246
  200. data/examples/32_newsletter_reader.rb +0 -193
  201. data/examples/33_stock_generator.rb +0 -80
  202. data/examples/33_stock_predictor.rb +0 -327
  203. data/examples/34_agentskills.rb +0 -76
  204. data/examples/35_hooks.rb +0 -266
  205. data/examples/README.md +0 -533
  206. data/examples/common.rb +0 -148
  207. data/examples/prompts/assistant.md +0 -5
  208. data/examples/prompts/audit_trail.md +0 -8
  209. data/examples/prompts/billing.md +0 -10
  210. data/examples/prompts/classifier.md +0 -7
  211. data/examples/prompts/comedian.md +0 -6
  212. data/examples/prompts/comedy_critic.md +0 -10
  213. data/examples/prompts/configurable.md +0 -9
  214. data/examples/prompts/dispatcher.md +0 -12
  215. data/examples/prompts/entity_extractor.md +0 -14
  216. data/examples/prompts/escalation.md +0 -42
  217. data/examples/prompts/frontmatter_mcp_test.md +0 -9
  218. data/examples/prompts/frontmatter_named_test.md +0 -5
  219. data/examples/prompts/frontmatter_tools_test.md +0 -6
  220. data/examples/prompts/general.md +0 -7
  221. data/examples/prompts/github_assistant.md +0 -14
  222. data/examples/prompts/helper.md +0 -4
  223. data/examples/prompts/incident_responder.md +0 -18
  224. data/examples/prompts/keyword_extractor.md +0 -11
  225. data/examples/prompts/llm_config_demo.md +0 -20
  226. data/examples/prompts/order_support.md +0 -35
  227. data/examples/prompts/os_advocate.md +0 -13
  228. data/examples/prompts/os_chief.md +0 -13
  229. data/examples/prompts/os_editor.md +0 -13
  230. data/examples/prompts/parameterized_main_test.md +0 -6
  231. data/examples/prompts/pii_redactor.md +0 -7
  232. data/examples/prompts/product_support.md +0 -37
  233. data/examples/prompts/runbook_protocol.md +0 -12
  234. data/examples/prompts/sentiment_analyzer.md +0 -12
  235. data/examples/prompts/skill_a_test.md +0 -4
  236. data/examples/prompts/skill_b_test.md +0 -4
  237. data/examples/prompts/skill_config_test.md +0 -5
  238. data/examples/prompts/skill_cycle_a_test.md +0 -6
  239. data/examples/prompts/skill_cycle_b_test.md +0 -6
  240. data/examples/prompts/skill_description_test.md +0 -4
  241. data/examples/prompts/skill_leaf_test.md +0 -4
  242. data/examples/prompts/skill_nested_test.md +0 -6
  243. data/examples/prompts/skill_refs_main_test.md +0 -6
  244. data/examples/prompts/skill_self_ref_test.md +0 -6
  245. data/examples/prompts/skill_with_mcp_test.md +0 -9
  246. data/examples/prompts/skill_with_params_test.md +0 -6
  247. data/examples/prompts/skill_with_robot_name_test.md +0 -5
  248. data/examples/prompts/skill_with_tools_test.md +0 -6
  249. data/examples/prompts/sre_compliance.md +0 -10
  250. data/examples/prompts/structured_output.md +0 -7
  251. data/examples/prompts/synthesizer.md +0 -17
  252. data/examples/prompts/technical.md +0 -10
  253. data/examples/prompts/template_with_skills_test.md +0 -6
  254. data/examples/prompts/triage.md +0 -22
  255. data/examples/ruboruby.md +0 -423
  256. data/examples/xyzzy.rb +0 -97
  257. data/logfile +0 -8
  258. data/mkdocs.yml +0 -209
  259. data/robot_concurrency.md +0 -38
  260. data/simple_acp_review.md +0 -298
  261. data/temp.md +0 -6
  262. data/tool_manifest_plan.md +0 -155
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.2.8
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dewayne VanHoozer
@@ -43,70 +43,56 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.12'
47
- type: :runtime
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '1.12'
54
- - !ruby/object:Gem::Dependency
55
- name: ruby_llm-mcp
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '1.0'
46
+ version: '2.0'
61
47
  type: :runtime
62
48
  prerelease: false
63
49
  version_requirements: !ruby/object:Gem::Requirement
64
50
  requirements:
65
51
  - - "~>"
66
52
  - !ruby/object:Gem::Version
67
- version: '1.0'
53
+ version: '2.0'
68
54
  - !ruby/object:Gem::Dependency
69
- name: prompt_manager
55
+ name: ruby_llm-providers-apfel
70
56
  requirement: !ruby/object:Gem::Requirement
71
57
  requirements:
72
58
  - - "~>"
73
59
  - !ruby/object:Gem::Version
74
- version: '1.0'
60
+ version: 0.2.1
75
61
  type: :runtime
76
62
  prerelease: false
77
63
  version_requirements: !ruby/object:Gem::Requirement
78
64
  requirements:
79
65
  - - "~>"
80
66
  - !ruby/object:Gem::Version
81
- version: '1.0'
67
+ version: 0.2.1
82
68
  - !ruby/object:Gem::Dependency
83
- name: ruby_llm-schema
69
+ name: ruby_llm-providers-lms
84
70
  requirement: !ruby/object:Gem::Requirement
85
71
  requirements:
86
72
  - - "~>"
87
73
  - !ruby/object:Gem::Version
88
- version: '0.3'
74
+ version: 0.2.1
89
75
  type: :runtime
90
76
  prerelease: false
91
77
  version_requirements: !ruby/object:Gem::Requirement
92
78
  requirements:
93
79
  - - "~>"
94
80
  - !ruby/object:Gem::Version
95
- version: '0.3'
81
+ version: 0.2.1
96
82
  - !ruby/object:Gem::Dependency
97
- name: ruby_llm-semantic_cache
83
+ name: prompt_manager
98
84
  requirement: !ruby/object:Gem::Requirement
99
85
  requirements:
100
86
  - - "~>"
101
87
  - !ruby/object:Gem::Version
102
- version: '0.1'
88
+ version: '1.0'
103
89
  type: :runtime
104
90
  prerelease: false
105
91
  version_requirements: !ruby/object:Gem::Requirement
106
92
  requirements:
107
93
  - - "~>"
108
94
  - !ruby/object:Gem::Version
109
- version: '0.1'
95
+ version: '1.0'
110
96
  - !ruby/object:Gem::Dependency
111
97
  name: async
112
98
  requirement: !ruby/object:Gem::Requirement
@@ -206,249 +192,9 @@ executables: []
206
192
  extensions: []
207
193
  extra_rdoc_files: []
208
194
  files:
209
- - ".architecture/AGENTS.md"
210
- - ".architecture/config.yml"
211
- - ".architecture/members.yml"
212
- - ".architecture/reviews/feature-free-will.md"
213
- - ".architecture/reviews/overall-codebase.md"
214
- - ".claude/settings.local.json"
215
- - ".codex/config.toml"
216
- - ".envrc"
217
- - ".github/workflows/deploy-github-pages.yml"
218
- - ".irbrc"
219
- - ".loki"
220
- - ".quality/reek_baseline.txt"
221
- - ".rubocop.yml"
222
- - Archspec.rb
223
195
  - CHANGELOG.md
224
- - CLAUDE.md
225
- - COMMITS.md
226
196
  - LICENSE.txt
227
197
  - README.md
228
- - Rakefile
229
- - _typos.toml
230
- - agent2agent_review.md
231
- - agentf_improvements.md
232
- - agents.md
233
- - docs/api/core/index.md
234
- - docs/api/core/memory.md
235
- - docs/api/core/network.md
236
- - docs/api/core/result.md
237
- - docs/api/core/robot.md
238
- - docs/api/core/state.md
239
- - docs/api/core/tool.md
240
- - docs/api/errors.md
241
- - docs/api/hooks.md
242
- - docs/api/index.md
243
- - docs/api/mcp/client.md
244
- - docs/api/mcp/index.md
245
- - docs/api/mcp/server.md
246
- - docs/api/mcp/transports.md
247
- - docs/api/messages/index.md
248
- - docs/api/messages/text-message.md
249
- - docs/api/messages/tool-call-message.md
250
- - docs/api/messages/tool-result-message.md
251
- - docs/api/messages/user-message.md
252
- - docs/api/skills.md
253
- - docs/api/streaming/context.md
254
- - docs/api/streaming/events.md
255
- - docs/api/streaming/index.md
256
- - docs/api/support.md
257
- - docs/architecture/core-concepts.md
258
- - docs/architecture/index.md
259
- - docs/architecture/message-flow.md
260
- - docs/architecture/network-orchestration.md
261
- - docs/architecture/robot-execution.md
262
- - docs/architecture/state-management.md
263
- - docs/assets/css/custom.css
264
- - docs/assets/images/robot_lab.jpg
265
- - docs/concepts.md
266
- - docs/examples/basic-chat.md
267
- - docs/examples/index.md
268
- - docs/examples/mcp-server.md
269
- - docs/examples/multi-robot-network.md
270
- - docs/examples/tool-usage.md
271
- - docs/getting-started/configuration.md
272
- - docs/getting-started/index.md
273
- - docs/getting-started/installation.md
274
- - docs/getting-started/quick-start.md
275
- - docs/guides/building-robots.md
276
- - docs/guides/creating-networks.md
277
- - docs/guides/hooks.md
278
- - docs/guides/index.md
279
- - docs/guides/knowledge.md
280
- - docs/guides/mcp-integration.md
281
- - docs/guides/memory.md
282
- - docs/guides/observability.md
283
- - docs/guides/streaming.md
284
- - docs/guides/using-tools.md
285
- - docs/index.md
286
- - docs/superpowers/plans/2026-05-06-agentskills.md
287
- - docs/superpowers/specs/2026-05-06-agentskills-design.md
288
- - examples/.envrc
289
- - examples/01_simple_robot.rb
290
- - examples/02_tools.rb
291
- - examples/03_network.rb
292
- - examples/04_mcp.rb
293
- - examples/05_streaming.rb
294
- - examples/06_prompt_templates.rb
295
- - examples/07_network_memory.rb
296
- - examples/08_llm_config.rb
297
- - examples/09_chaining.rb
298
- - examples/10_memory.rb
299
- - examples/11_network_introspection.rb
300
- - examples/12_message_bus.rb
301
- - examples/13_spawn.rb
302
- - examples/14_rusty_circuit/.envrc
303
- - examples/14_rusty_circuit/.gitignore
304
- - examples/14_rusty_circuit/README.md
305
- - examples/14_rusty_circuit/comic.rb
306
- - examples/14_rusty_circuit/display.rb
307
- - examples/14_rusty_circuit/heckler.rb
308
- - examples/14_rusty_circuit/open_mic.rb
309
- - examples/14_rusty_circuit/prompts/open_mic_comic.md
310
- - examples/14_rusty_circuit/prompts/open_mic_heckler.md
311
- - examples/14_rusty_circuit/prompts/open_mic_scout.md
312
- - examples/14_rusty_circuit/scout.rb
313
- - examples/14_rusty_circuit/show.log
314
- - examples/15_memory_network_and_bus/.envrc
315
- - examples/15_memory_network_and_bus/editor_in_chief.rb
316
- - examples/15_memory_network_and_bus/editorial_pipeline.rb
317
- - examples/15_memory_network_and_bus/linux_writer.rb
318
- - examples/15_memory_network_and_bus/os_editor.rb
319
- - examples/15_memory_network_and_bus/os_writer.rb
320
- - examples/15_memory_network_and_bus/output/combined_article.md
321
- - examples/15_memory_network_and_bus/output/final_article.md
322
- - examples/15_memory_network_and_bus/output/linux_draft.md
323
- - examples/15_memory_network_and_bus/output/mac_draft.md
324
- - examples/15_memory_network_and_bus/output/memory.json
325
- - examples/15_memory_network_and_bus/output/revision_1.md
326
- - examples/15_memory_network_and_bus/output/revision_2.md
327
- - examples/15_memory_network_and_bus/output/windows_draft.md
328
- - examples/15_memory_network_and_bus/prompts/os_advocate.md
329
- - examples/15_memory_network_and_bus/prompts/os_chief.md
330
- - examples/15_memory_network_and_bus/prompts/os_editor.md
331
- - examples/16_writers_room/.envrc
332
- - examples/16_writers_room/display.rb
333
- - examples/16_writers_room/output/.gitignore
334
- - examples/16_writers_room/output/README.md
335
- - examples/16_writers_room/output/opus_001.md
336
- - examples/16_writers_room/output/opus_001_notes.log
337
- - examples/16_writers_room/output/opus_002.md
338
- - examples/16_writers_room/output/opus_002_notes.log
339
- - examples/16_writers_room/output/opus_002_screenplay.md
340
- - examples/16_writers_room/output/opus_002_screenplay_notes.md
341
- - examples/16_writers_room/prompts/screenplay_writer.md
342
- - examples/16_writers_room/prompts/writer.md
343
- - examples/16_writers_room/room.rb
344
- - examples/16_writers_room/tools.rb
345
- - examples/16_writers_room/writer.rb
346
- - examples/16_writers_room/writers_room.rb
347
- - examples/17_skills.rb
348
- - examples/18_rails/.envrc
349
- - examples/18_rails/.gitignore
350
- - examples/18_rails/Gemfile
351
- - examples/18_rails/README.md
352
- - examples/18_rails/Rakefile
353
- - examples/18_rails/app/controllers/application_controller.rb
354
- - examples/18_rails/app/controllers/chat_controller.rb
355
- - examples/18_rails/app/jobs/application_job.rb
356
- - examples/18_rails/app/jobs/robot_run_job.rb
357
- - examples/18_rails/app/models/application_record.rb
358
- - examples/18_rails/app/models/robot_lab_result.rb
359
- - examples/18_rails/app/models/robot_lab_thread.rb
360
- - examples/18_rails/app/robots/chat_robot.rb
361
- - examples/18_rails/app/tools/time_tool.rb
362
- - examples/18_rails/app/views/chat/_user_message.html.erb
363
- - examples/18_rails/app/views/chat/index.html.erb
364
- - examples/18_rails/app/views/layouts/application.html.erb
365
- - examples/18_rails/bin/dev
366
- - examples/18_rails/bin/rails
367
- - examples/18_rails/bin/setup
368
- - examples/18_rails/config.ru
369
- - examples/18_rails/config/application.rb
370
- - examples/18_rails/config/cable.yml
371
- - examples/18_rails/config/database.yml
372
- - examples/18_rails/config/environment.rb
373
- - examples/18_rails/config/initializers/robot_lab.rb
374
- - examples/18_rails/config/routes.rb
375
- - examples/18_rails/db/migrate/001_create_robot_lab_tables.rb
376
- - examples/19_token_tracking.rb
377
- - examples/20_circuit_breaker.rb
378
- - examples/21_learning_loop.rb
379
- - examples/22_context_compression.rb
380
- - examples/23_convergence.rb
381
- - examples/24_structured_delegation.rb
382
- - examples/25_history_search.rb
383
- - examples/25_history_search/conversation.jsonl
384
- - examples/26_document_store.rb
385
- - examples/26_document_store/api_versioning_adr.md
386
- - examples/26_document_store/incident_postmortem.md
387
- - examples/26_document_store/postgres_runbook.md
388
- - examples/26_document_store/redis_caching_guide.md
389
- - examples/26_document_store/sidekiq_guide.md
390
- - examples/27_incident_response/incident_response.rb
391
- - examples/28_mcp_discovery.rb
392
- - examples/29_ractor_tools.rb
393
- - examples/30_ractor_network.rb
394
- - examples/31_launch_assessment.rb
395
- - examples/32_newsletter_reader.rb
396
- - examples/33_stock_generator.rb
397
- - examples/33_stock_predictor.rb
398
- - examples/34_agentskills.rb
399
- - examples/35_hooks.rb
400
- - examples/README.md
401
- - examples/common.rb
402
- - examples/prompts/assistant.md
403
- - examples/prompts/audit_trail.md
404
- - examples/prompts/billing.md
405
- - examples/prompts/classifier.md
406
- - examples/prompts/comedian.md
407
- - examples/prompts/comedy_critic.md
408
- - examples/prompts/configurable.md
409
- - examples/prompts/dispatcher.md
410
- - examples/prompts/entity_extractor.md
411
- - examples/prompts/escalation.md
412
- - examples/prompts/frontmatter_mcp_test.md
413
- - examples/prompts/frontmatter_named_test.md
414
- - examples/prompts/frontmatter_tools_test.md
415
- - examples/prompts/general.md
416
- - examples/prompts/github_assistant.md
417
- - examples/prompts/helper.md
418
- - examples/prompts/incident_responder.md
419
- - examples/prompts/keyword_extractor.md
420
- - examples/prompts/llm_config_demo.md
421
- - examples/prompts/order_support.md
422
- - examples/prompts/os_advocate.md
423
- - examples/prompts/os_chief.md
424
- - examples/prompts/os_editor.md
425
- - examples/prompts/parameterized_main_test.md
426
- - examples/prompts/pii_redactor.md
427
- - examples/prompts/product_support.md
428
- - examples/prompts/runbook_protocol.md
429
- - examples/prompts/sentiment_analyzer.md
430
- - examples/prompts/skill_a_test.md
431
- - examples/prompts/skill_b_test.md
432
- - examples/prompts/skill_config_test.md
433
- - examples/prompts/skill_cycle_a_test.md
434
- - examples/prompts/skill_cycle_b_test.md
435
- - examples/prompts/skill_description_test.md
436
- - examples/prompts/skill_leaf_test.md
437
- - examples/prompts/skill_nested_test.md
438
- - examples/prompts/skill_refs_main_test.md
439
- - examples/prompts/skill_self_ref_test.md
440
- - examples/prompts/skill_with_mcp_test.md
441
- - examples/prompts/skill_with_params_test.md
442
- - examples/prompts/skill_with_robot_name_test.md
443
- - examples/prompts/skill_with_tools_test.md
444
- - examples/prompts/sre_compliance.md
445
- - examples/prompts/structured_output.md
446
- - examples/prompts/synthesizer.md
447
- - examples/prompts/technical.md
448
- - examples/prompts/template_with_skills_test.md
449
- - examples/prompts/triage.md
450
- - examples/ruboruby.md
451
- - examples/xyzzy.rb
452
198
  - lib/robot_lab.rb
453
199
  - lib/robot_lab/agent_skill.rb
454
200
  - lib/robot_lab/agent_skill_catalog.rb
@@ -490,6 +236,7 @@ files:
490
236
  - lib/robot_lab/robot/history_search.rb
491
237
  - lib/robot_lab/robot/hooking.rb
492
238
  - lib/robot_lab/robot/mcp_management.rb
239
+ - lib/robot_lab/robot/result_building.rb
493
240
  - lib/robot_lab/robot/template_rendering.rb
494
241
  - lib/robot_lab/robot_message.rb
495
242
  - lib/robot_lab/robot_result.rb
@@ -509,13 +256,7 @@ files:
509
256
  - lib/robot_lab/utils.rb
510
257
  - lib/robot_lab/version.rb
511
258
  - lib/robot_lab/waiter.rb
512
- - logfile
513
- - mkdocs.yml
514
- - robot_concurrency.md
515
259
  - sig/robot_lab.rbs
516
- - simple_acp_review.md
517
- - temp.md
518
- - tool_manifest_plan.md
519
260
  homepage: https://github.com/MadBomber/robot_lab
520
261
  licenses:
521
262
  - MIT
@@ -534,14 +275,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
534
275
  requirements:
535
276
  - - ">="
536
277
  - !ruby/object:Gem::Version
537
- version: 3.2.0
278
+ version: 4.0.9
538
279
  required_rubygems_version: !ruby/object:Gem::Requirement
539
280
  requirements:
540
281
  - - ">="
541
282
  - !ruby/object:Gem::Version
542
283
  version: '0'
543
284
  requirements: []
544
- rubygems_version: 4.0.20
285
+ rubygems_version: 4.0.23
545
286
  specification_version: 4
546
287
  summary: Ruby framework for building and orchestrating multi-robot LLM workflows
547
288
  test_files: []
@@ -1,32 +0,0 @@
1
- ### Local Agent Context: .architecture
2
-
3
- # Setup & Commands — Exact commands + required env vars.
4
-
5
- - Configure project: Verify `project_name` and `version` in `.architecture/config.yml` are correct for current setup.
6
- - Quarterly review schedule is enforced automatically; ensure `review_schedule` is set to `quarterly` in `.architecture/config.yml`.
7
-
8
- # Code Style & Patterns — Must-follow conventions, backticked.
9
-
10
- - Ensure any new architectural documentation follows the naming pattern in `.architecture/reviews`.
11
- - For member roles, adhere to the structured format in `.architecture/members.yml` with fields like `id`, `name`, `title`, and `specialties`.
12
- - Document architectural reviews extensively, mirroring the detailed style found in `.architecture/reviews/feature-free-will.md`.
13
-
14
- # Implementation Details — Entry files + compressed playbooks (job/env/rollout).
15
-
16
- ## Architectural Review Process
17
-
18
- 1. **Conduct Review**:
19
- - Read current state and previous findings in `.architecture/reviews/overall-codebase.md`.
20
- - Compare changes and new resolutions against previous entries like `.architecture/reviews/feature-free-will.md`.
21
-
22
- 2. **Document Review**:
23
- - Record new findings and updates in a new markdown file within `.architecture/reviews/`.
24
- - Follow the format example in existing review files for consistency and effectiveness.
25
-
26
- 3. **Remove Dead Code**:
27
- - Audit `network:` parameter usage in relevant function calls.
28
- - Remove unused parameters and adjust corresponding method calls as documented in reviews.
29
-
30
- _Warning_: Removing architectural elements based on outdated assumptions can be destructive.
31
-
32
- By following these structured guidelines and file-specific practices, maintain a coherent and robust architectural documentation process inside the `.architecture` directory.
@@ -1,8 +0,0 @@
1
- project_name: RobotLab
2
- version: 0.0.5
3
- review_schedule: quarterly
4
- pragmatic_mode:
5
- enabled: true
6
- applies_to:
7
- - reviews
8
- - adrs
@@ -1,60 +0,0 @@
1
- members:
2
- - id: systems_architect
3
- name: Systems Architect
4
- title: Principal Systems Architect
5
- specialties:
6
- - module decomposition
7
- - dependency management
8
- - API surface design
9
- - Zeitwerk autoloading
10
- perspective: Evaluates overall structure, module boundaries, and dependency flow
11
-
12
- - id: concurrency_specialist
13
- name: Concurrency Specialist
14
- title: Async & Concurrency Engineer
15
- specialties:
16
- - async/await patterns
17
- - fiber-based concurrency
18
- - race condition prevention
19
- - message bus architectures
20
- perspective: Analyzes async patterns, race conditions, and message ordering guarantees
21
-
22
- - id: api_design_lead
23
- name: API Design Lead
24
- title: Developer Experience Architect
25
- specialties:
26
- - public API ergonomics
27
- - configuration hierarchies
28
- - builder patterns
29
- - Ruby idioms
30
- perspective: Evaluates public API surface, developer experience, and Ruby idiomaticness
31
-
32
- - id: reliability_engineer
33
- name: Reliability Engineer
34
- title: Error Handling & Resilience Specialist
35
- specialties:
36
- - error hierarchies
37
- - retry/backoff strategies
38
- - graceful degradation
39
- - state machine correctness
40
- perspective: Assesses error handling, failure modes, and system resilience
41
-
42
- - id: testing_strategist
43
- name: Testing Strategist
44
- title: Quality Assurance Architect
45
- specialties:
46
- - test coverage analysis
47
- - integration vs unit testing
48
- - mock strategies
49
- - CI reliability
50
- perspective: Reviews test architecture, coverage gaps, and testing patterns
51
-
52
- - id: pragmatic_enforcer
53
- name: Pragmatic Enforcer
54
- title: YAGNI & Simplicity Advocate
55
- specialties:
56
- - over-engineering detection
57
- - complexity budgets
58
- - deferred decisions
59
- - MVP scoping
60
- perspective: Challenges unnecessary complexity and advocates for simplest viable solutions