enhance_swarm 1.0.0 → 2.0.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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/.enhance_swarm/archives/session_1751182876_06ee7e0e_20250629_094116.json +16 -0
  3. data/.enhance_swarm/archives/session_1751187567_9d1227c8_20250629_105927.json +16 -0
  4. data/.enhance_swarm/archives/session_1751190454_6faf48a2_20250629_114734.json +16 -0
  5. data/.enhance_swarm/archives/session_1751190516_3e4f9437_20250629_114836.json +16 -0
  6. data/.enhance_swarm/archives/session_1751192354_79568f0f_20250629_121914.json +16 -0
  7. data/.enhance_swarm/archives/session_1751195070_99653548_20250629_130433.json +16 -0
  8. data/.enhance_swarm/archives/session_1751196542_a292e40c_20250629_132902.json +7 -0
  9. data/.enhance_swarm/archives/session_1751196824_9b65d28e_20250629_133344.json +24 -0
  10. data/.enhance_swarm/archives/session_1751197867_d16edbc5_20250629_135109.json +24 -0
  11. data/.enhance_swarm/archives/session_1751208541_f9531ce5_20250629_164901.json +16 -0
  12. data/.enhance_swarm/logs/backend_error.log +0 -0
  13. data/.enhance_swarm/logs/backend_output.log +0 -0
  14. data/.enhance_swarm/logs/debug_manual_error.log +0 -0
  15. data/.enhance_swarm/logs/debug_manual_output.log +18 -0
  16. data/.enhance_swarm/logs/frontend_error.log +0 -0
  17. data/.enhance_swarm/logs/frontend_output.log +45 -0
  18. data/.enhance_swarm/logs/general_error.log +0 -0
  19. data/.enhance_swarm/logs/general_output.log +404 -0
  20. data/.enhance_swarm/user_patterns.json +5 -5
  21. data/DEPLOYMENT.md +344 -0
  22. data/README.md +183 -820
  23. data/debug_agent_spawner.rb +99 -0
  24. data/debug_cli_spawn.rb +95 -0
  25. data/debug_fixes.rb +209 -0
  26. data/debug_script_execution.rb +124 -0
  27. data/debug_session_issue.rb +87 -0
  28. data/debug_spawn.rb +113 -0
  29. data/debug_spawn_step_by_step.rb +190 -0
  30. data/debug_worktree.rb +77 -0
  31. data/enhance_swarm-0.1.1.gem +0 -0
  32. data/enhance_swarm-1.0.0.gem +0 -0
  33. data/final_validation_test.rb +199 -0
  34. data/lib/enhance_swarm/agent_spawner.rb +5 -1
  35. data/lib/enhance_swarm/cli.rb +42 -9
  36. data/lib/enhance_swarm/control_agent.rb +28 -27
  37. data/lib/enhance_swarm/smart_orchestration.rb +60 -0
  38. data/lib/enhance_swarm/task_coordinator.rb +1050 -0
  39. data/lib/enhance_swarm/version.rb +1 -1
  40. data/lib/enhance_swarm/visual_dashboard.rb +2 -1
  41. data/test_blog_app/.enhance_swarm/archives/session_1751187575_e119ea73_20250629_105935.json +16 -0
  42. data/test_blog_app/.enhance_swarm/archives/session_1751187637_7fda97dd_20250629_110037.json +32 -0
  43. data/test_blog_app/.enhance_swarm/archives/session_1751190527_4c99147e_20250629_114847.json +32 -0
  44. data/test_blog_app/.enhance_swarm/archives/session_1751190541_8dc83406_20250629_114901.json +16 -0
  45. data/test_blog_app/.ruby-version +1 -0
  46. data/test_blog_app/Gemfile +18 -0
  47. data/test_blog_app/Gemfile.lock +206 -0
  48. data/test_blog_app/README.md +24 -0
  49. data/test_blog_app/Rakefile +6 -0
  50. data/test_blog_app/app/assets/images/.keep +0 -0
  51. data/test_blog_app/app/assets/stylesheets/application.css +10 -0
  52. data/test_blog_app/app/controllers/application_controller.rb +4 -0
  53. data/test_blog_app/app/controllers/concerns/.keep +0 -0
  54. data/test_blog_app/app/helpers/application_helper.rb +2 -0
  55. data/test_blog_app/app/models/application_record.rb +3 -0
  56. data/test_blog_app/app/models/concerns/.keep +0 -0
  57. data/test_blog_app/app/views/layouts/application.html.erb +27 -0
  58. data/test_blog_app/app/views/pwa/manifest.json.erb +22 -0
  59. data/test_blog_app/app/views/pwa/service-worker.js +26 -0
  60. data/test_blog_app/bin/dev +2 -0
  61. data/test_blog_app/bin/rails +4 -0
  62. data/test_blog_app/bin/rake +4 -0
  63. data/test_blog_app/bin/setup +34 -0
  64. data/test_blog_app/config/application.rb +42 -0
  65. data/test_blog_app/config/boot.rb +3 -0
  66. data/test_blog_app/config/credentials.yml.enc +1 -0
  67. data/test_blog_app/config/database.yml +32 -0
  68. data/test_blog_app/config/environment.rb +5 -0
  69. data/test_blog_app/config/environments/development.rb +51 -0
  70. data/test_blog_app/config/environments/production.rb +67 -0
  71. data/test_blog_app/config/environments/test.rb +42 -0
  72. data/test_blog_app/config/initializers/assets.rb +7 -0
  73. data/test_blog_app/config/initializers/content_security_policy.rb +25 -0
  74. data/test_blog_app/config/initializers/filter_parameter_logging.rb +8 -0
  75. data/test_blog_app/config/initializers/inflections.rb +16 -0
  76. data/test_blog_app/config/locales/en.yml +31 -0
  77. data/test_blog_app/config/master.key +1 -0
  78. data/test_blog_app/config/puma.rb +38 -0
  79. data/test_blog_app/config/routes.rb +14 -0
  80. data/test_blog_app/config.ru +6 -0
  81. data/test_blog_app/db/seeds.rb +9 -0
  82. data/test_blog_app/lib/tasks/.keep +0 -0
  83. data/test_blog_app/log/.keep +0 -0
  84. data/test_blog_app/public/400.html +114 -0
  85. data/test_blog_app/public/404.html +114 -0
  86. data/test_blog_app/public/406-unsupported-browser.html +114 -0
  87. data/test_blog_app/public/422.html +114 -0
  88. data/test_blog_app/public/500.html +114 -0
  89. data/test_blog_app/public/icon.png +0 -0
  90. data/test_blog_app/public/icon.svg +3 -0
  91. data/test_blog_app/public/robots.txt +1 -0
  92. data/test_blog_app/script/.keep +0 -0
  93. data/test_blog_app/storage/.keep +0 -0
  94. data/test_blog_app/test/controllers/.keep +0 -0
  95. data/test_blog_app/test/fixtures/files/.keep +0 -0
  96. data/test_blog_app/test/helpers/.keep +0 -0
  97. data/test_blog_app/test/integration/.keep +0 -0
  98. data/test_blog_app/test/models/.keep +0 -0
  99. data/test_blog_app/test/test_helper.rb +15 -0
  100. data/test_blog_app/test_enhance_swarm_e2e.rb +244 -0
  101. data/test_blog_app/test_realistic_workflow.rb +292 -0
  102. data/test_blog_app/tmp/.keep +0 -0
  103. data/test_blog_app/tmp/pids/.keep +0 -0
  104. data/test_blog_app/tmp/storage/.keep +0 -0
  105. data/test_blog_app/vendor/.keep +0 -0
  106. data/test_complete_system.rb +267 -0
  107. metadata +99 -1
@@ -76,6 +76,34 @@ module EnhanceSwarm
76
76
  }
77
77
  end
78
78
 
79
+ # Enhanced progress tracking integration
80
+ def track_progress_with_streamer(streamer = nil)
81
+ return unless streamer
82
+
83
+ Thread.new do
84
+ while @status == 'coordinating'
85
+ status = current_status
86
+
87
+ # Update progress tracker
88
+ progress = status['progress_percentage'] || 0
89
+ message = status['message'] || 'Coordinating agents...'
90
+
91
+ streamer.set_progress(progress,
92
+ message: message,
93
+ details: {
94
+ operation: 'control_coordination',
95
+ phase: status['phase'],
96
+ active_agents: status['active_agents']&.length || 0,
97
+ completed_agents: status['completed_agents']&.length || 0
98
+ })
99
+
100
+ break if %w[completed failed].include?(status['status'])
101
+
102
+ sleep(2)
103
+ end
104
+ end
105
+ end
106
+
79
107
  private
80
108
 
81
109
  def spawn_control_agent
@@ -276,32 +304,5 @@ module EnhanceSwarm
276
304
  end
277
305
  end
278
306
 
279
- # Enhanced progress tracking integration
280
- def track_progress_with_streamer(streamer = nil)
281
- return unless streamer
282
-
283
- Thread.new do
284
- while @status == 'coordinating'
285
- status = current_status
286
-
287
- # Update progress tracker
288
- progress = status['progress_percentage'] || 0
289
- message = status['message'] || 'Coordinating agents...'
290
-
291
- streamer.set_progress(progress,
292
- message: message,
293
- operation: 'control_coordination',
294
- details: {
295
- phase: status['phase'],
296
- active_agents: status['active_agents']&.length || 0,
297
- completed_agents: status['completed_agents']&.length || 0
298
- })
299
-
300
- break if %w[completed failed].include?(status['status'])
301
-
302
- sleep(2)
303
- end
304
- end
305
- end
306
307
  end
307
308
  end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'logger'
4
+ require_relative 'task_coordinator'
5
+
6
+ module EnhanceSwarm
7
+ # Smart orchestration with intelligent defaults for all new installations
8
+ # Implements real dev team patterns as the default user experience
9
+ class SmartOrchestration
10
+ def self.enhance_with_coordination(description)
11
+ orchestrator = new
12
+ orchestrator.smart_enhance(description)
13
+ end
14
+
15
+ def initialize
16
+ @coordinator = TaskCoordinator.new
17
+ end
18
+
19
+ def smart_enhance(description)
20
+ Logger.info("🎯 Smart Enhancement Protocol: #{description}")
21
+
22
+ # Check if this looks like a review/polish task
23
+ if review_task?(description)
24
+ handle_review_task(description)
25
+ else
26
+ # Standard coordinated development
27
+ @coordinator.coordinate_task(description)
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ def review_task?(description)
34
+ description.downcase.match?(/review|polish|qa|test|merge|integrate|finish|complete|open browser/)
35
+ end
36
+
37
+ def handle_review_task(description)
38
+ Logger.info("🔍 Detected review/polish task - using smart review workflow")
39
+
40
+ # Create specialized review and polish tasks
41
+ review_tasks = [
42
+ "Review current codebase state and identify missing features or improvements",
43
+ "Perform QA testing of all existing functionality and identify issues",
44
+ "Polish and improve UI/UX consistency and user experience",
45
+ "Integrate all improvements and ensure everything works together",
46
+ "Prepare for final review and browser testing"
47
+ ]
48
+
49
+ review_tasks.each_with_index do |task, index|
50
+ Logger.info("📋 Review Phase #{index + 1}: #{task}")
51
+ @coordinator.coordinate_task(task)
52
+
53
+ # Brief pause between review phases
54
+ sleep(1) if index < review_tasks.length - 1
55
+ end
56
+
57
+ Logger.info("✅ Smart review workflow completed")
58
+ end
59
+ end
60
+ end