lex-agentic-defense 0.1.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 (219) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +12 -0
  3. data/Gemfile +5 -0
  4. data/LICENSE +21 -0
  5. data/README.md +13 -0
  6. data/lex-agentic-defense.gemspec +30 -0
  7. data/lib/legion/extensions/agentic/defense/avalanche/client.rb +22 -0
  8. data/lib/legion/extensions/agentic/defense/avalanche/helpers/avalanche_engine.rb +132 -0
  9. data/lib/legion/extensions/agentic/defense/avalanche/helpers/cascade.rb +76 -0
  10. data/lib/legion/extensions/agentic/defense/avalanche/helpers/constants.rb +44 -0
  11. data/lib/legion/extensions/agentic/defense/avalanche/helpers/snowpack.rb +86 -0
  12. data/lib/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche.rb +75 -0
  13. data/lib/legion/extensions/agentic/defense/avalanche/version.rb +13 -0
  14. data/lib/legion/extensions/agentic/defense/avalanche.rb +22 -0
  15. data/lib/legion/extensions/agentic/defense/bias/actors/update.rb +45 -0
  16. data/lib/legion/extensions/agentic/defense/bias/client.rb +30 -0
  17. data/lib/legion/extensions/agentic/defense/bias/helpers/bias_detector.rb +107 -0
  18. data/lib/legion/extensions/agentic/defense/bias/helpers/bias_event.rb +44 -0
  19. data/lib/legion/extensions/agentic/defense/bias/helpers/bias_store.rb +84 -0
  20. data/lib/legion/extensions/agentic/defense/bias/helpers/constants.rb +28 -0
  21. data/lib/legion/extensions/agentic/defense/bias/runners/bias.rb +151 -0
  22. data/lib/legion/extensions/agentic/defense/bias/version.rb +13 -0
  23. data/lib/legion/extensions/agentic/defense/bias.rb +20 -0
  24. data/lib/legion/extensions/agentic/defense/confabulation/actors/decay.rb +45 -0
  25. data/lib/legion/extensions/agentic/defense/confabulation/client.rb +28 -0
  26. data/lib/legion/extensions/agentic/defense/confabulation/helpers/claim.rb +67 -0
  27. data/lib/legion/extensions/agentic/defense/confabulation/helpers/confabulation_engine.rb +120 -0
  28. data/lib/legion/extensions/agentic/defense/confabulation/helpers/constants.rb +29 -0
  29. data/lib/legion/extensions/agentic/defense/confabulation/runners/confabulation.rb +74 -0
  30. data/lib/legion/extensions/agentic/defense/confabulation/version.rb +13 -0
  31. data/lib/legion/extensions/agentic/defense/confabulation.rb +19 -0
  32. data/lib/legion/extensions/agentic/defense/dissonance/client.rb +32 -0
  33. data/lib/legion/extensions/agentic/defense/dissonance/helpers/belief.rb +46 -0
  34. data/lib/legion/extensions/agentic/defense/dissonance/helpers/constants.rb +27 -0
  35. data/lib/legion/extensions/agentic/defense/dissonance/helpers/dissonance_event.rb +52 -0
  36. data/lib/legion/extensions/agentic/defense/dissonance/helpers/dissonance_model.rb +159 -0
  37. data/lib/legion/extensions/agentic/defense/dissonance/runners/dissonance.rb +163 -0
  38. data/lib/legion/extensions/agentic/defense/dissonance/version.rb +13 -0
  39. data/lib/legion/extensions/agentic/defense/dissonance.rb +20 -0
  40. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/actors/update.rb +45 -0
  41. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/client.rb +27 -0
  42. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/claim.rb +78 -0
  43. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/client.rb +23 -0
  44. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/constants.rb +37 -0
  45. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/source.rb +64 -0
  46. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/vigilance_engine.rb +195 -0
  47. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/runners/epistemic_vigilance.rb +91 -0
  48. data/lib/legion/extensions/agentic/defense/epistemic_vigilance/version.rb +13 -0
  49. data/lib/legion/extensions/agentic/defense/epistemic_vigilance.rb +20 -0
  50. data/lib/legion/extensions/agentic/defense/erosion/client.rb +23 -0
  51. data/lib/legion/extensions/agentic/defense/erosion/helpers/channel.rb +84 -0
  52. data/lib/legion/extensions/agentic/defense/erosion/helpers/constants.rb +47 -0
  53. data/lib/legion/extensions/agentic/defense/erosion/helpers/erosion_engine.rb +134 -0
  54. data/lib/legion/extensions/agentic/defense/erosion/helpers/formation.rb +100 -0
  55. data/lib/legion/extensions/agentic/defense/erosion/runners/cognitive_erosion.rb +93 -0
  56. data/lib/legion/extensions/agentic/defense/erosion/version.rb +13 -0
  57. data/lib/legion/extensions/agentic/defense/erosion.rb +21 -0
  58. data/lib/legion/extensions/agentic/defense/error_monitoring/actors/tick.rb +45 -0
  59. data/lib/legion/extensions/agentic/defense/error_monitoring/client.rb +28 -0
  60. data/lib/legion/extensions/agentic/defense/error_monitoring/helpers/constants.rb +50 -0
  61. data/lib/legion/extensions/agentic/defense/error_monitoring/helpers/error_monitor.rb +174 -0
  62. data/lib/legion/extensions/agentic/defense/error_monitoring/helpers/error_signal.rb +60 -0
  63. data/lib/legion/extensions/agentic/defense/error_monitoring/runners/error_monitoring.rb +102 -0
  64. data/lib/legion/extensions/agentic/defense/error_monitoring/version.rb +13 -0
  65. data/lib/legion/extensions/agentic/defense/error_monitoring.rb +19 -0
  66. data/lib/legion/extensions/agentic/defense/extinction/actors/protocol_monitor.rb +45 -0
  67. data/lib/legion/extensions/agentic/defense/extinction/client.rb +27 -0
  68. data/lib/legion/extensions/agentic/defense/extinction/helpers/levels.rb +43 -0
  69. data/lib/legion/extensions/agentic/defense/extinction/helpers/protocol_state.rb +125 -0
  70. data/lib/legion/extensions/agentic/defense/extinction/local_migrations/20260316000040_create_extinction_state.rb +13 -0
  71. data/lib/legion/extensions/agentic/defense/extinction/runners/extinction.rb +130 -0
  72. data/lib/legion/extensions/agentic/defense/extinction/version.rb +13 -0
  73. data/lib/legion/extensions/agentic/defense/extinction.rb +25 -0
  74. data/lib/legion/extensions/agentic/defense/friction/client.rb +15 -0
  75. data/lib/legion/extensions/agentic/defense/friction/helpers/constants.rb +38 -0
  76. data/lib/legion/extensions/agentic/defense/friction/helpers/friction_engine.rb +131 -0
  77. data/lib/legion/extensions/agentic/defense/friction/helpers/state_transition.rb +73 -0
  78. data/lib/legion/extensions/agentic/defense/friction/runners/cognitive_friction.rb +82 -0
  79. data/lib/legion/extensions/agentic/defense/friction/version.rb +13 -0
  80. data/lib/legion/extensions/agentic/defense/friction.rb +19 -0
  81. data/lib/legion/extensions/agentic/defense/immune_response/client.rb +19 -0
  82. data/lib/legion/extensions/agentic/defense/immune_response/helpers/antibody.rb +72 -0
  83. data/lib/legion/extensions/agentic/defense/immune_response/helpers/antigen.rb +87 -0
  84. data/lib/legion/extensions/agentic/defense/immune_response/helpers/constants.rb +75 -0
  85. data/lib/legion/extensions/agentic/defense/immune_response/helpers/immune_engine.rb +184 -0
  86. data/lib/legion/extensions/agentic/defense/immune_response/helpers/immune_response.rb +76 -0
  87. data/lib/legion/extensions/agentic/defense/immune_response/runners/cognitive_immune_response.rb +114 -0
  88. data/lib/legion/extensions/agentic/defense/immune_response/version.rb +13 -0
  89. data/lib/legion/extensions/agentic/defense/immune_response.rb +21 -0
  90. data/lib/legion/extensions/agentic/defense/immunology/client.rb +29 -0
  91. data/lib/legion/extensions/agentic/defense/immunology/helpers/antibody.rb +55 -0
  92. data/lib/legion/extensions/agentic/defense/immunology/helpers/constants.rb +43 -0
  93. data/lib/legion/extensions/agentic/defense/immunology/helpers/immune_engine.rb +187 -0
  94. data/lib/legion/extensions/agentic/defense/immunology/helpers/threat.rb +67 -0
  95. data/lib/legion/extensions/agentic/defense/immunology/runners/cognitive_immunology.rb +92 -0
  96. data/lib/legion/extensions/agentic/defense/immunology/version.rb +13 -0
  97. data/lib/legion/extensions/agentic/defense/immunology.rb +20 -0
  98. data/lib/legion/extensions/agentic/defense/phantom/client.rb +29 -0
  99. data/lib/legion/extensions/agentic/defense/phantom/helpers/constants.rb +54 -0
  100. data/lib/legion/extensions/agentic/defense/phantom/helpers/phantom_engine.rb +106 -0
  101. data/lib/legion/extensions/agentic/defense/phantom/helpers/phantom_limb.rb +103 -0
  102. data/lib/legion/extensions/agentic/defense/phantom/helpers/phantom_signal.rb +40 -0
  103. data/lib/legion/extensions/agentic/defense/phantom/runners/cognitive_phantom.rb +79 -0
  104. data/lib/legion/extensions/agentic/defense/phantom/version.rb +13 -0
  105. data/lib/legion/extensions/agentic/defense/phantom.rb +21 -0
  106. data/lib/legion/extensions/agentic/defense/quicksand/client.rb +15 -0
  107. data/lib/legion/extensions/agentic/defense/quicksand/helpers/constants.rb +48 -0
  108. data/lib/legion/extensions/agentic/defense/quicksand/helpers/pit.rb +82 -0
  109. data/lib/legion/extensions/agentic/defense/quicksand/helpers/quicksand_engine.rb +137 -0
  110. data/lib/legion/extensions/agentic/defense/quicksand/helpers/trap.rb +101 -0
  111. data/lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb +84 -0
  112. data/lib/legion/extensions/agentic/defense/quicksand/version.rb +13 -0
  113. data/lib/legion/extensions/agentic/defense/quicksand.rb +22 -0
  114. data/lib/legion/extensions/agentic/defense/quicksilver/client.rb +29 -0
  115. data/lib/legion/extensions/agentic/defense/quicksilver/helpers/constants.rb +50 -0
  116. data/lib/legion/extensions/agentic/defense/quicksilver/helpers/droplet.rb +126 -0
  117. data/lib/legion/extensions/agentic/defense/quicksilver/helpers/pool.rb +83 -0
  118. data/lib/legion/extensions/agentic/defense/quicksilver/helpers/quicksilver_engine.rb +124 -0
  119. data/lib/legion/extensions/agentic/defense/quicksilver/runners/cognitive_quicksilver.rb +130 -0
  120. data/lib/legion/extensions/agentic/defense/quicksilver/version.rb +13 -0
  121. data/lib/legion/extensions/agentic/defense/quicksilver.rb +21 -0
  122. data/lib/legion/extensions/agentic/defense/version.rb +11 -0
  123. data/lib/legion/extensions/agentic/defense/whirlpool/client.rb +65 -0
  124. data/lib/legion/extensions/agentic/defense/whirlpool/helpers/captured_thought.rb +67 -0
  125. data/lib/legion/extensions/agentic/defense/whirlpool/helpers/constants.rb +45 -0
  126. data/lib/legion/extensions/agentic/defense/whirlpool/helpers/vortex.rb +91 -0
  127. data/lib/legion/extensions/agentic/defense/whirlpool/helpers/whirlpool_engine.rb +92 -0
  128. data/lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb +117 -0
  129. data/lib/legion/extensions/agentic/defense/whirlpool/version.rb +13 -0
  130. data/lib/legion/extensions/agentic/defense/whirlpool.rb +22 -0
  131. data/lib/legion/extensions/agentic/defense.rb +32 -0
  132. data/spec/legion/extensions/agentic/defense/avalanche/client_spec.rb +96 -0
  133. data/spec/legion/extensions/agentic/defense/avalanche/helpers/avalanche_engine_spec.rb +276 -0
  134. data/spec/legion/extensions/agentic/defense/avalanche/helpers/cascade_spec.rb +190 -0
  135. data/spec/legion/extensions/agentic/defense/avalanche/helpers/constants_spec.rb +129 -0
  136. data/spec/legion/extensions/agentic/defense/avalanche/helpers/snowpack_spec.rb +197 -0
  137. data/spec/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche_spec.rb +211 -0
  138. data/spec/legion/extensions/agentic/defense/bias/client_spec.rb +16 -0
  139. data/spec/legion/extensions/agentic/defense/bias/helpers/bias_detector_spec.rb +160 -0
  140. data/spec/legion/extensions/agentic/defense/bias/helpers/bias_event_spec.rb +64 -0
  141. data/spec/legion/extensions/agentic/defense/bias/helpers/bias_store_spec.rb +143 -0
  142. data/spec/legion/extensions/agentic/defense/bias/runners/bias_spec.rb +155 -0
  143. data/spec/legion/extensions/agentic/defense/confabulation/client_spec.rb +34 -0
  144. data/spec/legion/extensions/agentic/defense/confabulation/helpers/claim_spec.rb +119 -0
  145. data/spec/legion/extensions/agentic/defense/confabulation/helpers/confabulation_engine_spec.rb +163 -0
  146. data/spec/legion/extensions/agentic/defense/confabulation/helpers/constants_spec.rb +55 -0
  147. data/spec/legion/extensions/agentic/defense/confabulation/runners/confabulation_spec.rb +119 -0
  148. data/spec/legion/extensions/agentic/defense/dissonance/client_spec.rb +51 -0
  149. data/spec/legion/extensions/agentic/defense/dissonance/helpers/belief_spec.rb +103 -0
  150. data/spec/legion/extensions/agentic/defense/dissonance/helpers/constants_spec.rb +60 -0
  151. data/spec/legion/extensions/agentic/defense/dissonance/helpers/dissonance_event_spec.rb +113 -0
  152. data/spec/legion/extensions/agentic/defense/dissonance/helpers/dissonance_model_spec.rb +252 -0
  153. data/spec/legion/extensions/agentic/defense/dissonance/runners/dissonance_spec.rb +323 -0
  154. data/spec/legion/extensions/agentic/defense/epistemic_vigilance/client_spec.rb +28 -0
  155. data/spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/claim_spec.rb +135 -0
  156. data/spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/constants_spec.rb +59 -0
  157. data/spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/source_spec.rb +117 -0
  158. data/spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/vigilance_engine_spec.rb +273 -0
  159. data/spec/legion/extensions/agentic/defense/epistemic_vigilance/runners/epistemic_vigilance_spec.rb +157 -0
  160. data/spec/legion/extensions/agentic/defense/erosion/client_spec.rb +90 -0
  161. data/spec/legion/extensions/agentic/defense/erosion/helpers/channel_spec.rb +173 -0
  162. data/spec/legion/extensions/agentic/defense/erosion/helpers/constants_spec.rb +137 -0
  163. data/spec/legion/extensions/agentic/defense/erosion/helpers/erosion_engine_spec.rb +263 -0
  164. data/spec/legion/extensions/agentic/defense/erosion/helpers/formation_spec.rb +206 -0
  165. data/spec/legion/extensions/agentic/defense/erosion/runners/cognitive_erosion_spec.rb +153 -0
  166. data/spec/legion/extensions/agentic/defense/error_monitoring/client_spec.rb +40 -0
  167. data/spec/legion/extensions/agentic/defense/error_monitoring/helpers/error_monitor_spec.rb +178 -0
  168. data/spec/legion/extensions/agentic/defense/error_monitoring/helpers/error_signal_spec.rb +76 -0
  169. data/spec/legion/extensions/agentic/defense/error_monitoring/runners/error_monitoring_spec.rb +87 -0
  170. data/spec/legion/extensions/agentic/defense/extinction/actors/protocol_monitor_spec.rb +45 -0
  171. data/spec/legion/extensions/agentic/defense/extinction/client_spec.rb +13 -0
  172. data/spec/legion/extensions/agentic/defense/extinction/helpers/levels_spec.rb +180 -0
  173. data/spec/legion/extensions/agentic/defense/extinction/helpers/protocol_state_spec.rb +291 -0
  174. data/spec/legion/extensions/agentic/defense/extinction/local_persistence_spec.rb +188 -0
  175. data/spec/legion/extensions/agentic/defense/extinction/runners/extinction_spec.rb +114 -0
  176. data/spec/legion/extensions/agentic/defense/friction/helpers/constants_spec.rb +46 -0
  177. data/spec/legion/extensions/agentic/defense/friction/helpers/friction_engine_spec.rb +175 -0
  178. data/spec/legion/extensions/agentic/defense/friction/helpers/state_transition_spec.rb +124 -0
  179. data/spec/legion/extensions/agentic/defense/friction/runners/cognitive_friction_spec.rb +89 -0
  180. data/spec/legion/extensions/agentic/defense/immune_response/client_spec.rb +32 -0
  181. data/spec/legion/extensions/agentic/defense/immune_response/cognitive_immune_response_spec.rb +7 -0
  182. data/spec/legion/extensions/agentic/defense/immune_response/helpers/antibody_spec.rb +117 -0
  183. data/spec/legion/extensions/agentic/defense/immune_response/helpers/antigen_spec.rb +125 -0
  184. data/spec/legion/extensions/agentic/defense/immune_response/helpers/constants_spec.rb +45 -0
  185. data/spec/legion/extensions/agentic/defense/immune_response/helpers/immune_engine_spec.rb +222 -0
  186. data/spec/legion/extensions/agentic/defense/immune_response/helpers/immune_response_spec.rb +84 -0
  187. data/spec/legion/extensions/agentic/defense/immune_response/runners_spec.rb +141 -0
  188. data/spec/legion/extensions/agentic/defense/immunology/client_spec.rb +61 -0
  189. data/spec/legion/extensions/agentic/defense/immunology/helpers/antibody_spec.rb +98 -0
  190. data/spec/legion/extensions/agentic/defense/immunology/helpers/constants_spec.rb +86 -0
  191. data/spec/legion/extensions/agentic/defense/immunology/helpers/immune_engine_spec.rb +275 -0
  192. data/spec/legion/extensions/agentic/defense/immunology/helpers/threat_spec.rb +133 -0
  193. data/spec/legion/extensions/agentic/defense/immunology/runners/cognitive_immunology_spec.rb +177 -0
  194. data/spec/legion/extensions/agentic/defense/phantom/client_spec.rb +53 -0
  195. data/spec/legion/extensions/agentic/defense/phantom/helpers/constants_spec.rb +87 -0
  196. data/spec/legion/extensions/agentic/defense/phantom/helpers/phantom_engine_spec.rb +222 -0
  197. data/spec/legion/extensions/agentic/defense/phantom/helpers/phantom_limb_spec.rb +180 -0
  198. data/spec/legion/extensions/agentic/defense/phantom/helpers/phantom_signal_spec.rb +59 -0
  199. data/spec/legion/extensions/agentic/defense/phantom/runners/cognitive_phantom_spec.rb +193 -0
  200. data/spec/legion/extensions/agentic/defense/quicksand/client_spec.rb +35 -0
  201. data/spec/legion/extensions/agentic/defense/quicksand/helpers/constants_spec.rb +58 -0
  202. data/spec/legion/extensions/agentic/defense/quicksand/helpers/pit_spec.rb +103 -0
  203. data/spec/legion/extensions/agentic/defense/quicksand/helpers/quicksand_engine_spec.rb +153 -0
  204. data/spec/legion/extensions/agentic/defense/quicksand/helpers/trap_spec.rb +166 -0
  205. data/spec/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand_spec.rb +90 -0
  206. data/spec/legion/extensions/agentic/defense/quicksilver/client_spec.rb +72 -0
  207. data/spec/legion/extensions/agentic/defense/quicksilver/helpers/constants_spec.rb +105 -0
  208. data/spec/legion/extensions/agentic/defense/quicksilver/helpers/droplet_spec.rb +310 -0
  209. data/spec/legion/extensions/agentic/defense/quicksilver/helpers/pool_spec.rb +174 -0
  210. data/spec/legion/extensions/agentic/defense/quicksilver/helpers/quicksilver_engine_spec.rb +226 -0
  211. data/spec/legion/extensions/agentic/defense/quicksilver/runners/cognitive_quicksilver_spec.rb +227 -0
  212. data/spec/legion/extensions/agentic/defense/whirlpool/client_spec.rb +63 -0
  213. data/spec/legion/extensions/agentic/defense/whirlpool/helpers/captured_thought_spec.rb +171 -0
  214. data/spec/legion/extensions/agentic/defense/whirlpool/helpers/constants_spec.rb +65 -0
  215. data/spec/legion/extensions/agentic/defense/whirlpool/helpers/vortex_spec.rb +189 -0
  216. data/spec/legion/extensions/agentic/defense/whirlpool/helpers/whirlpool_engine_spec.rb +227 -0
  217. data/spec/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool_spec.rb +226 -0
  218. data/spec/spec_helper.rb +46 -0
  219. metadata +303 -0
@@ -0,0 +1,226 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/agentic/defense/whirlpool/client'
4
+
5
+ RSpec.describe Legion::Extensions::Agentic::Defense::Whirlpool::Runners::CognitiveWhirlpool do
6
+ let(:engine) { Legion::Extensions::Agentic::Defense::Whirlpool::Helpers::WhirlpoolEngine.new }
7
+ let(:client) { Legion::Extensions::Agentic::Defense::Whirlpool::Client.new }
8
+
9
+ describe '#create_vortex' do
10
+ it 'returns success: true with vortex hash' do
11
+ result = client.create_vortex(vortex_type: :analytical)
12
+ expect(result[:success]).to be true
13
+ expect(result[:vortex]).to be_a(Hash)
14
+ expect(result[:vortex][:vortex_type]).to eq(:analytical)
15
+ end
16
+
17
+ it 'returns success: false for invalid vortex_type' do
18
+ result = client.create_vortex(vortex_type: :bogus)
19
+ expect(result[:success]).to be false
20
+ expect(result[:error]).to be_a(String)
21
+ end
22
+
23
+ it 'creates multiple vortices' do
24
+ client.create_vortex(vortex_type: :analytical)
25
+ client.create_vortex(vortex_type: :creative)
26
+ report = client.vortex_report
27
+ expect(report[:total_vortices]).to eq(2)
28
+ end
29
+
30
+ it 'passes angular_velocity to vortex' do
31
+ result = client.create_vortex(vortex_type: :analytical, angular_velocity: 0.9)
32
+ expect(result[:vortex][:angular_velocity]).to eq(0.9)
33
+ end
34
+
35
+ it 'passes depth to vortex' do
36
+ result = client.create_vortex(vortex_type: :analytical, depth: 0.4)
37
+ expect(result[:vortex][:depth]).to eq(0.4)
38
+ end
39
+
40
+ it 'passes capture_radius to vortex' do
41
+ result = client.create_vortex(vortex_type: :analytical, capture_radius: 0.6)
42
+ expect(result[:vortex][:capture_radius]).to eq(0.6)
43
+ end
44
+ end
45
+
46
+ describe '#inject_thought' do
47
+ let(:vortex_id) { client.create_vortex(vortex_type: :creative)[:vortex][:vortex_id] }
48
+
49
+ it 'returns success: true with thought_id' do
50
+ result = client.inject_thought(vortex_id: vortex_id, content: 'spark')
51
+ expect(result[:success]).to be true
52
+ expect(result[:thought_id]).to match(/\A[0-9a-f-]{36}\z/)
53
+ end
54
+
55
+ it 'returns success: false for unknown vortex' do
56
+ result = client.inject_thought(vortex_id: 'bad-id', content: 'spark')
57
+ expect(result[:success]).to be false
58
+ end
59
+
60
+ it 'accepts domain' do
61
+ result = client.inject_thought(vortex_id: vortex_id, content: 'x', domain: :creative)
62
+ expect(result[:domain]).to eq(:creative)
63
+ end
64
+ end
65
+
66
+ describe '#tick_all' do
67
+ before { client.create_vortex(vortex_type: :emotional) }
68
+
69
+ it 'returns success: true' do
70
+ result = client.tick_all
71
+ expect(result[:success]).to be true
72
+ end
73
+
74
+ it 'reports ticked vortex count' do
75
+ result = client.tick_all
76
+ expect(result[:ticked]).to eq(1)
77
+ end
78
+
79
+ it 'accepts spiral_rate' do
80
+ result = client.tick_all(spiral_rate: 0.2)
81
+ expect(result[:success]).to be true
82
+ end
83
+ end
84
+
85
+ describe '#dissipate_all' do
86
+ before { client.create_vortex(vortex_type: :associative) }
87
+
88
+ it 'returns success: true' do
89
+ result = client.dissipate_all
90
+ expect(result[:success]).to be true
91
+ end
92
+
93
+ it 'returns remaining count' do
94
+ result = client.dissipate_all
95
+ expect(result).to have_key(:remaining)
96
+ end
97
+
98
+ it 'accepts custom rate' do
99
+ result = client.dissipate_all(rate: 0.1)
100
+ expect(result[:success]).to be true
101
+ end
102
+ end
103
+
104
+ describe '#vortex_report' do
105
+ it 'returns success: true' do
106
+ result = client.vortex_report
107
+ expect(result[:success]).to be true
108
+ end
109
+
110
+ it 'returns total_vortices' do
111
+ client.create_vortex(vortex_type: :analytical)
112
+ result = client.vortex_report
113
+ expect(result[:total_vortices]).to eq(1)
114
+ end
115
+
116
+ it 'includes powerful_count and calm_count' do
117
+ result = client.vortex_report
118
+ expect(result).to have_key(:powerful_count)
119
+ expect(result).to have_key(:calm_count)
120
+ end
121
+ end
122
+
123
+ describe '#deepest_vortices' do
124
+ before do
125
+ client.create_vortex(vortex_type: :analytical, depth: 0.8)
126
+ client.create_vortex(vortex_type: :creative, depth: 0.3)
127
+ end
128
+
129
+ it 'returns success: true with vortices array' do
130
+ result = client.deepest_vortices
131
+ expect(result[:success]).to be true
132
+ expect(result[:vortices]).to be_an(Array)
133
+ end
134
+
135
+ it 'returns deepest first' do
136
+ result = client.deepest_vortices(limit: 2)
137
+ depths = result[:vortices].map { |v| v[:depth] }
138
+ expect(depths.first).to be >= depths.last
139
+ end
140
+
141
+ it 'respects limit' do
142
+ result = client.deepest_vortices(limit: 1)
143
+ expect(result[:vortices].size).to eq(1)
144
+ end
145
+ end
146
+
147
+ describe '#remove_vortex' do
148
+ let(:vortex_id) { client.create_vortex(vortex_type: :procedural)[:vortex][:vortex_id] }
149
+
150
+ it 'removes the vortex' do
151
+ result = client.remove_vortex(vortex_id: vortex_id)
152
+ expect(result[:success]).to be true
153
+ expect(result[:removed]).to eq(1)
154
+ end
155
+
156
+ it 'returns 0 for unknown id' do
157
+ result = client.remove_vortex(vortex_id: 'nonexistent')
158
+ expect(result[:removed]).to eq(0)
159
+ end
160
+ end
161
+
162
+ describe '#clear_engine' do
163
+ before do
164
+ client.create_vortex(vortex_type: :analytical)
165
+ client.create_vortex(vortex_type: :creative)
166
+ end
167
+
168
+ it 'clears all vortices' do
169
+ client.clear_engine
170
+ expect(client.vortex_report[:total_vortices]).to eq(0)
171
+ end
172
+
173
+ it 'returns success: true' do
174
+ result = client.clear_engine
175
+ expect(result[:success]).to be true
176
+ end
177
+
178
+ it 'returns cleared: true' do
179
+ result = client.clear_engine
180
+ expect(result[:cleared]).to be true
181
+ end
182
+ end
183
+
184
+ describe 'runner with injected engine' do
185
+ let(:runner) do
186
+ obj = Object.new
187
+ obj.extend(described_class)
188
+ obj
189
+ end
190
+
191
+ it 'creates a vortex via injected engine' do
192
+ result = runner.create_vortex(vortex_type: :creative, engine: engine)
193
+ expect(result[:success]).to be true
194
+ expect(engine.vortices.size).to eq(1)
195
+ end
196
+
197
+ it 'injects thought via injected engine' do
198
+ runner.create_vortex(vortex_type: :creative, engine: engine)
199
+ vid = engine.vortices.first.vortex_id
200
+ result = runner.inject_thought(vortex_id: vid, content: 'via engine', engine: engine)
201
+ expect(result[:success]).to be true
202
+ end
203
+
204
+ it 'ticks via injected engine' do
205
+ runner.create_vortex(vortex_type: :analytical, engine: engine)
206
+ result = runner.tick_all(engine: engine)
207
+ expect(result[:ticked]).to eq(1)
208
+ end
209
+
210
+ it 'dissipates via injected engine' do
211
+ runner.create_vortex(vortex_type: :analytical, engine: engine)
212
+ result = runner.dissipate_all(engine: engine)
213
+ expect(result[:success]).to be true
214
+ end
215
+
216
+ it 'reports via injected engine' do
217
+ result = runner.vortex_report(engine: engine)
218
+ expect(result[:success]).to be true
219
+ end
220
+
221
+ it 'deepest_vortices via injected engine' do
222
+ result = runner.deepest_vortices(engine: engine)
223
+ expect(result[:success]).to be true
224
+ end
225
+ end
226
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/setup'
4
+
5
+ module Legion
6
+ module Logging
7
+ def self.debug(_msg); end
8
+ def self.info(_msg); end
9
+ def self.warn(_msg); end
10
+ def self.error(_msg); end
11
+ def self.fatal(_msg); end
12
+ end
13
+
14
+ module Extensions
15
+ module Core
16
+ def self.extended(_base); end
17
+ end
18
+
19
+ module Helpers
20
+ module Lex
21
+ def self.included(_base); end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ # rubocop:disable Lint/EmptyClass, Style/OneClassPerFile
28
+ module Legion
29
+ module Extensions
30
+ module Actors
31
+ class Every; end
32
+ class Once; end
33
+ end
34
+ end
35
+ end
36
+ $LOADED_FEATURES << 'legion/extensions/actors/every'
37
+ $LOADED_FEATURES << 'legion/extensions/actors/once'
38
+ # rubocop:enable Lint/EmptyClass, Style/OneClassPerFile
39
+
40
+ require 'legion/extensions/agentic/defense'
41
+
42
+ RSpec.configure do |config|
43
+ config.example_status_persistence_file_path = '.rspec_status'
44
+ config.disable_monkey_patching!
45
+ config.expect_with(:rspec) { |c| c.syntax = :expect }
46
+ end
metadata ADDED
@@ -0,0 +1,303 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lex-agentic-defense
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Esity
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rspec
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '3.13'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '3.13'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rubocop
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.60'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.60'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rubocop-rspec
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.26'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.26'
54
+ description: 'LEX agentic defense domain: threat detection, stress response, boundaries'
55
+ email:
56
+ - matthewdiverson@gmail.com
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - CHANGELOG.md
62
+ - Gemfile
63
+ - LICENSE
64
+ - README.md
65
+ - lex-agentic-defense.gemspec
66
+ - lib/legion/extensions/agentic/defense.rb
67
+ - lib/legion/extensions/agentic/defense/avalanche.rb
68
+ - lib/legion/extensions/agentic/defense/avalanche/client.rb
69
+ - lib/legion/extensions/agentic/defense/avalanche/helpers/avalanche_engine.rb
70
+ - lib/legion/extensions/agentic/defense/avalanche/helpers/cascade.rb
71
+ - lib/legion/extensions/agentic/defense/avalanche/helpers/constants.rb
72
+ - lib/legion/extensions/agentic/defense/avalanche/helpers/snowpack.rb
73
+ - lib/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche.rb
74
+ - lib/legion/extensions/agentic/defense/avalanche/version.rb
75
+ - lib/legion/extensions/agentic/defense/bias.rb
76
+ - lib/legion/extensions/agentic/defense/bias/actors/update.rb
77
+ - lib/legion/extensions/agentic/defense/bias/client.rb
78
+ - lib/legion/extensions/agentic/defense/bias/helpers/bias_detector.rb
79
+ - lib/legion/extensions/agentic/defense/bias/helpers/bias_event.rb
80
+ - lib/legion/extensions/agentic/defense/bias/helpers/bias_store.rb
81
+ - lib/legion/extensions/agentic/defense/bias/helpers/constants.rb
82
+ - lib/legion/extensions/agentic/defense/bias/runners/bias.rb
83
+ - lib/legion/extensions/agentic/defense/bias/version.rb
84
+ - lib/legion/extensions/agentic/defense/confabulation.rb
85
+ - lib/legion/extensions/agentic/defense/confabulation/actors/decay.rb
86
+ - lib/legion/extensions/agentic/defense/confabulation/client.rb
87
+ - lib/legion/extensions/agentic/defense/confabulation/helpers/claim.rb
88
+ - lib/legion/extensions/agentic/defense/confabulation/helpers/confabulation_engine.rb
89
+ - lib/legion/extensions/agentic/defense/confabulation/helpers/constants.rb
90
+ - lib/legion/extensions/agentic/defense/confabulation/runners/confabulation.rb
91
+ - lib/legion/extensions/agentic/defense/confabulation/version.rb
92
+ - lib/legion/extensions/agentic/defense/dissonance.rb
93
+ - lib/legion/extensions/agentic/defense/dissonance/client.rb
94
+ - lib/legion/extensions/agentic/defense/dissonance/helpers/belief.rb
95
+ - lib/legion/extensions/agentic/defense/dissonance/helpers/constants.rb
96
+ - lib/legion/extensions/agentic/defense/dissonance/helpers/dissonance_event.rb
97
+ - lib/legion/extensions/agentic/defense/dissonance/helpers/dissonance_model.rb
98
+ - lib/legion/extensions/agentic/defense/dissonance/runners/dissonance.rb
99
+ - lib/legion/extensions/agentic/defense/dissonance/version.rb
100
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance.rb
101
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/actors/update.rb
102
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/client.rb
103
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/claim.rb
104
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/client.rb
105
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/constants.rb
106
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/source.rb
107
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/helpers/vigilance_engine.rb
108
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/runners/epistemic_vigilance.rb
109
+ - lib/legion/extensions/agentic/defense/epistemic_vigilance/version.rb
110
+ - lib/legion/extensions/agentic/defense/erosion.rb
111
+ - lib/legion/extensions/agentic/defense/erosion/client.rb
112
+ - lib/legion/extensions/agentic/defense/erosion/helpers/channel.rb
113
+ - lib/legion/extensions/agentic/defense/erosion/helpers/constants.rb
114
+ - lib/legion/extensions/agentic/defense/erosion/helpers/erosion_engine.rb
115
+ - lib/legion/extensions/agentic/defense/erosion/helpers/formation.rb
116
+ - lib/legion/extensions/agentic/defense/erosion/runners/cognitive_erosion.rb
117
+ - lib/legion/extensions/agentic/defense/erosion/version.rb
118
+ - lib/legion/extensions/agentic/defense/error_monitoring.rb
119
+ - lib/legion/extensions/agentic/defense/error_monitoring/actors/tick.rb
120
+ - lib/legion/extensions/agentic/defense/error_monitoring/client.rb
121
+ - lib/legion/extensions/agentic/defense/error_monitoring/helpers/constants.rb
122
+ - lib/legion/extensions/agentic/defense/error_monitoring/helpers/error_monitor.rb
123
+ - lib/legion/extensions/agentic/defense/error_monitoring/helpers/error_signal.rb
124
+ - lib/legion/extensions/agentic/defense/error_monitoring/runners/error_monitoring.rb
125
+ - lib/legion/extensions/agentic/defense/error_monitoring/version.rb
126
+ - lib/legion/extensions/agentic/defense/extinction.rb
127
+ - lib/legion/extensions/agentic/defense/extinction/actors/protocol_monitor.rb
128
+ - lib/legion/extensions/agentic/defense/extinction/client.rb
129
+ - lib/legion/extensions/agentic/defense/extinction/helpers/levels.rb
130
+ - lib/legion/extensions/agentic/defense/extinction/helpers/protocol_state.rb
131
+ - lib/legion/extensions/agentic/defense/extinction/local_migrations/20260316000040_create_extinction_state.rb
132
+ - lib/legion/extensions/agentic/defense/extinction/runners/extinction.rb
133
+ - lib/legion/extensions/agentic/defense/extinction/version.rb
134
+ - lib/legion/extensions/agentic/defense/friction.rb
135
+ - lib/legion/extensions/agentic/defense/friction/client.rb
136
+ - lib/legion/extensions/agentic/defense/friction/helpers/constants.rb
137
+ - lib/legion/extensions/agentic/defense/friction/helpers/friction_engine.rb
138
+ - lib/legion/extensions/agentic/defense/friction/helpers/state_transition.rb
139
+ - lib/legion/extensions/agentic/defense/friction/runners/cognitive_friction.rb
140
+ - lib/legion/extensions/agentic/defense/friction/version.rb
141
+ - lib/legion/extensions/agentic/defense/immune_response.rb
142
+ - lib/legion/extensions/agentic/defense/immune_response/client.rb
143
+ - lib/legion/extensions/agentic/defense/immune_response/helpers/antibody.rb
144
+ - lib/legion/extensions/agentic/defense/immune_response/helpers/antigen.rb
145
+ - lib/legion/extensions/agentic/defense/immune_response/helpers/constants.rb
146
+ - lib/legion/extensions/agentic/defense/immune_response/helpers/immune_engine.rb
147
+ - lib/legion/extensions/agentic/defense/immune_response/helpers/immune_response.rb
148
+ - lib/legion/extensions/agentic/defense/immune_response/runners/cognitive_immune_response.rb
149
+ - lib/legion/extensions/agentic/defense/immune_response/version.rb
150
+ - lib/legion/extensions/agentic/defense/immunology.rb
151
+ - lib/legion/extensions/agentic/defense/immunology/client.rb
152
+ - lib/legion/extensions/agentic/defense/immunology/helpers/antibody.rb
153
+ - lib/legion/extensions/agentic/defense/immunology/helpers/constants.rb
154
+ - lib/legion/extensions/agentic/defense/immunology/helpers/immune_engine.rb
155
+ - lib/legion/extensions/agentic/defense/immunology/helpers/threat.rb
156
+ - lib/legion/extensions/agentic/defense/immunology/runners/cognitive_immunology.rb
157
+ - lib/legion/extensions/agentic/defense/immunology/version.rb
158
+ - lib/legion/extensions/agentic/defense/phantom.rb
159
+ - lib/legion/extensions/agentic/defense/phantom/client.rb
160
+ - lib/legion/extensions/agentic/defense/phantom/helpers/constants.rb
161
+ - lib/legion/extensions/agentic/defense/phantom/helpers/phantom_engine.rb
162
+ - lib/legion/extensions/agentic/defense/phantom/helpers/phantom_limb.rb
163
+ - lib/legion/extensions/agentic/defense/phantom/helpers/phantom_signal.rb
164
+ - lib/legion/extensions/agentic/defense/phantom/runners/cognitive_phantom.rb
165
+ - lib/legion/extensions/agentic/defense/phantom/version.rb
166
+ - lib/legion/extensions/agentic/defense/quicksand.rb
167
+ - lib/legion/extensions/agentic/defense/quicksand/client.rb
168
+ - lib/legion/extensions/agentic/defense/quicksand/helpers/constants.rb
169
+ - lib/legion/extensions/agentic/defense/quicksand/helpers/pit.rb
170
+ - lib/legion/extensions/agentic/defense/quicksand/helpers/quicksand_engine.rb
171
+ - lib/legion/extensions/agentic/defense/quicksand/helpers/trap.rb
172
+ - lib/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand.rb
173
+ - lib/legion/extensions/agentic/defense/quicksand/version.rb
174
+ - lib/legion/extensions/agentic/defense/quicksilver.rb
175
+ - lib/legion/extensions/agentic/defense/quicksilver/client.rb
176
+ - lib/legion/extensions/agentic/defense/quicksilver/helpers/constants.rb
177
+ - lib/legion/extensions/agentic/defense/quicksilver/helpers/droplet.rb
178
+ - lib/legion/extensions/agentic/defense/quicksilver/helpers/pool.rb
179
+ - lib/legion/extensions/agentic/defense/quicksilver/helpers/quicksilver_engine.rb
180
+ - lib/legion/extensions/agentic/defense/quicksilver/runners/cognitive_quicksilver.rb
181
+ - lib/legion/extensions/agentic/defense/quicksilver/version.rb
182
+ - lib/legion/extensions/agentic/defense/version.rb
183
+ - lib/legion/extensions/agentic/defense/whirlpool.rb
184
+ - lib/legion/extensions/agentic/defense/whirlpool/client.rb
185
+ - lib/legion/extensions/agentic/defense/whirlpool/helpers/captured_thought.rb
186
+ - lib/legion/extensions/agentic/defense/whirlpool/helpers/constants.rb
187
+ - lib/legion/extensions/agentic/defense/whirlpool/helpers/vortex.rb
188
+ - lib/legion/extensions/agentic/defense/whirlpool/helpers/whirlpool_engine.rb
189
+ - lib/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool.rb
190
+ - lib/legion/extensions/agentic/defense/whirlpool/version.rb
191
+ - spec/legion/extensions/agentic/defense/avalanche/client_spec.rb
192
+ - spec/legion/extensions/agentic/defense/avalanche/helpers/avalanche_engine_spec.rb
193
+ - spec/legion/extensions/agentic/defense/avalanche/helpers/cascade_spec.rb
194
+ - spec/legion/extensions/agentic/defense/avalanche/helpers/constants_spec.rb
195
+ - spec/legion/extensions/agentic/defense/avalanche/helpers/snowpack_spec.rb
196
+ - spec/legion/extensions/agentic/defense/avalanche/runners/cognitive_avalanche_spec.rb
197
+ - spec/legion/extensions/agentic/defense/bias/client_spec.rb
198
+ - spec/legion/extensions/agentic/defense/bias/helpers/bias_detector_spec.rb
199
+ - spec/legion/extensions/agentic/defense/bias/helpers/bias_event_spec.rb
200
+ - spec/legion/extensions/agentic/defense/bias/helpers/bias_store_spec.rb
201
+ - spec/legion/extensions/agentic/defense/bias/runners/bias_spec.rb
202
+ - spec/legion/extensions/agentic/defense/confabulation/client_spec.rb
203
+ - spec/legion/extensions/agentic/defense/confabulation/helpers/claim_spec.rb
204
+ - spec/legion/extensions/agentic/defense/confabulation/helpers/confabulation_engine_spec.rb
205
+ - spec/legion/extensions/agentic/defense/confabulation/helpers/constants_spec.rb
206
+ - spec/legion/extensions/agentic/defense/confabulation/runners/confabulation_spec.rb
207
+ - spec/legion/extensions/agentic/defense/dissonance/client_spec.rb
208
+ - spec/legion/extensions/agentic/defense/dissonance/helpers/belief_spec.rb
209
+ - spec/legion/extensions/agentic/defense/dissonance/helpers/constants_spec.rb
210
+ - spec/legion/extensions/agentic/defense/dissonance/helpers/dissonance_event_spec.rb
211
+ - spec/legion/extensions/agentic/defense/dissonance/helpers/dissonance_model_spec.rb
212
+ - spec/legion/extensions/agentic/defense/dissonance/runners/dissonance_spec.rb
213
+ - spec/legion/extensions/agentic/defense/epistemic_vigilance/client_spec.rb
214
+ - spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/claim_spec.rb
215
+ - spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/constants_spec.rb
216
+ - spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/source_spec.rb
217
+ - spec/legion/extensions/agentic/defense/epistemic_vigilance/helpers/vigilance_engine_spec.rb
218
+ - spec/legion/extensions/agentic/defense/epistemic_vigilance/runners/epistemic_vigilance_spec.rb
219
+ - spec/legion/extensions/agentic/defense/erosion/client_spec.rb
220
+ - spec/legion/extensions/agentic/defense/erosion/helpers/channel_spec.rb
221
+ - spec/legion/extensions/agentic/defense/erosion/helpers/constants_spec.rb
222
+ - spec/legion/extensions/agentic/defense/erosion/helpers/erosion_engine_spec.rb
223
+ - spec/legion/extensions/agentic/defense/erosion/helpers/formation_spec.rb
224
+ - spec/legion/extensions/agentic/defense/erosion/runners/cognitive_erosion_spec.rb
225
+ - spec/legion/extensions/agentic/defense/error_monitoring/client_spec.rb
226
+ - spec/legion/extensions/agentic/defense/error_monitoring/helpers/error_monitor_spec.rb
227
+ - spec/legion/extensions/agentic/defense/error_monitoring/helpers/error_signal_spec.rb
228
+ - spec/legion/extensions/agentic/defense/error_monitoring/runners/error_monitoring_spec.rb
229
+ - spec/legion/extensions/agentic/defense/extinction/actors/protocol_monitor_spec.rb
230
+ - spec/legion/extensions/agentic/defense/extinction/client_spec.rb
231
+ - spec/legion/extensions/agentic/defense/extinction/helpers/levels_spec.rb
232
+ - spec/legion/extensions/agentic/defense/extinction/helpers/protocol_state_spec.rb
233
+ - spec/legion/extensions/agentic/defense/extinction/local_persistence_spec.rb
234
+ - spec/legion/extensions/agentic/defense/extinction/runners/extinction_spec.rb
235
+ - spec/legion/extensions/agentic/defense/friction/helpers/constants_spec.rb
236
+ - spec/legion/extensions/agentic/defense/friction/helpers/friction_engine_spec.rb
237
+ - spec/legion/extensions/agentic/defense/friction/helpers/state_transition_spec.rb
238
+ - spec/legion/extensions/agentic/defense/friction/runners/cognitive_friction_spec.rb
239
+ - spec/legion/extensions/agentic/defense/immune_response/client_spec.rb
240
+ - spec/legion/extensions/agentic/defense/immune_response/cognitive_immune_response_spec.rb
241
+ - spec/legion/extensions/agentic/defense/immune_response/helpers/antibody_spec.rb
242
+ - spec/legion/extensions/agentic/defense/immune_response/helpers/antigen_spec.rb
243
+ - spec/legion/extensions/agentic/defense/immune_response/helpers/constants_spec.rb
244
+ - spec/legion/extensions/agentic/defense/immune_response/helpers/immune_engine_spec.rb
245
+ - spec/legion/extensions/agentic/defense/immune_response/helpers/immune_response_spec.rb
246
+ - spec/legion/extensions/agentic/defense/immune_response/runners_spec.rb
247
+ - spec/legion/extensions/agentic/defense/immunology/client_spec.rb
248
+ - spec/legion/extensions/agentic/defense/immunology/helpers/antibody_spec.rb
249
+ - spec/legion/extensions/agentic/defense/immunology/helpers/constants_spec.rb
250
+ - spec/legion/extensions/agentic/defense/immunology/helpers/immune_engine_spec.rb
251
+ - spec/legion/extensions/agentic/defense/immunology/helpers/threat_spec.rb
252
+ - spec/legion/extensions/agentic/defense/immunology/runners/cognitive_immunology_spec.rb
253
+ - spec/legion/extensions/agentic/defense/phantom/client_spec.rb
254
+ - spec/legion/extensions/agentic/defense/phantom/helpers/constants_spec.rb
255
+ - spec/legion/extensions/agentic/defense/phantom/helpers/phantom_engine_spec.rb
256
+ - spec/legion/extensions/agentic/defense/phantom/helpers/phantom_limb_spec.rb
257
+ - spec/legion/extensions/agentic/defense/phantom/helpers/phantom_signal_spec.rb
258
+ - spec/legion/extensions/agentic/defense/phantom/runners/cognitive_phantom_spec.rb
259
+ - spec/legion/extensions/agentic/defense/quicksand/client_spec.rb
260
+ - spec/legion/extensions/agentic/defense/quicksand/helpers/constants_spec.rb
261
+ - spec/legion/extensions/agentic/defense/quicksand/helpers/pit_spec.rb
262
+ - spec/legion/extensions/agentic/defense/quicksand/helpers/quicksand_engine_spec.rb
263
+ - spec/legion/extensions/agentic/defense/quicksand/helpers/trap_spec.rb
264
+ - spec/legion/extensions/agentic/defense/quicksand/runners/cognitive_quicksand_spec.rb
265
+ - spec/legion/extensions/agentic/defense/quicksilver/client_spec.rb
266
+ - spec/legion/extensions/agentic/defense/quicksilver/helpers/constants_spec.rb
267
+ - spec/legion/extensions/agentic/defense/quicksilver/helpers/droplet_spec.rb
268
+ - spec/legion/extensions/agentic/defense/quicksilver/helpers/pool_spec.rb
269
+ - spec/legion/extensions/agentic/defense/quicksilver/helpers/quicksilver_engine_spec.rb
270
+ - spec/legion/extensions/agentic/defense/quicksilver/runners/cognitive_quicksilver_spec.rb
271
+ - spec/legion/extensions/agentic/defense/whirlpool/client_spec.rb
272
+ - spec/legion/extensions/agentic/defense/whirlpool/helpers/captured_thought_spec.rb
273
+ - spec/legion/extensions/agentic/defense/whirlpool/helpers/constants_spec.rb
274
+ - spec/legion/extensions/agentic/defense/whirlpool/helpers/vortex_spec.rb
275
+ - spec/legion/extensions/agentic/defense/whirlpool/helpers/whirlpool_engine_spec.rb
276
+ - spec/legion/extensions/agentic/defense/whirlpool/runners/cognitive_whirlpool_spec.rb
277
+ - spec/spec_helper.rb
278
+ homepage: https://github.com/LegionIO/lex-agentic-defense
279
+ licenses:
280
+ - MIT
281
+ metadata:
282
+ homepage_uri: https://github.com/LegionIO/lex-agentic-defense
283
+ source_code_uri: https://github.com/LegionIO/lex-agentic-defense
284
+ changelog_uri: https://github.com/LegionIO/lex-agentic-defense/blob/main/CHANGELOG.md
285
+ rubygems_mfa_required: 'true'
286
+ rdoc_options: []
287
+ require_paths:
288
+ - lib
289
+ required_ruby_version: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ">="
292
+ - !ruby/object:Gem::Version
293
+ version: '3.4'
294
+ required_rubygems_version: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ requirements: []
300
+ rubygems_version: 3.6.9
301
+ specification_version: 4
302
+ summary: LEX Agentic Defense
303
+ test_files: []