aidp 0.34.1 → 0.39.3

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 (132) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -14
  3. data/lib/aidp/agent_harness_adapter.rb +309 -0
  4. data/lib/aidp/cli/issue_importer.rb +20 -6
  5. data/lib/aidp/cli/jobs_command.rb +1 -1
  6. data/lib/aidp/cli/models_command.rb +9 -16
  7. data/lib/aidp/cli/prompts_command.rb +253 -0
  8. data/lib/aidp/cli/security_command.rb +4 -10
  9. data/lib/aidp/cli/storage_command.rb +277 -0
  10. data/lib/aidp/cli/temporal_command.rb +460 -0
  11. data/lib/aidp/cli.rb +24 -2
  12. data/lib/aidp/config.rb +15 -0
  13. data/lib/aidp/config_paths.rb +12 -2
  14. data/lib/aidp/database/migrations.rb +114 -0
  15. data/lib/aidp/database/repositories/checkpoint_repository.rb +174 -0
  16. data/lib/aidp/database/repositories/deprecated_models_repository.rb +206 -0
  17. data/lib/aidp/database/repositories/evaluation_repository.rb +208 -0
  18. data/lib/aidp/database/repositories/harness_state_repository.rb +140 -0
  19. data/lib/aidp/database/repositories/job_repository.rb +278 -0
  20. data/lib/aidp/database/repositories/model_cache_repository.rb +194 -0
  21. data/lib/aidp/database/repositories/progress_repository.rb +210 -0
  22. data/lib/aidp/database/repositories/prompt_archive_repository.rb +195 -0
  23. data/lib/aidp/database/repositories/prompt_feedback_repository.rb +266 -0
  24. data/lib/aidp/database/repositories/provider_info_cache_repository.rb +208 -0
  25. data/lib/aidp/database/repositories/provider_metrics_repository.rb +245 -0
  26. data/lib/aidp/database/repositories/secrets_repository.rb +187 -0
  27. data/lib/aidp/database/repositories/task_repository.rb +231 -0
  28. data/lib/aidp/database/repositories/template_version_repository.rb +383 -0
  29. data/lib/aidp/database/repositories/watch_state_repository.rb +472 -0
  30. data/lib/aidp/database/repositories/workstream_repository.rb +310 -0
  31. data/lib/aidp/database/repositories/worktree_repository.rb +240 -0
  32. data/lib/aidp/database/repository.rb +166 -0
  33. data/lib/aidp/database/schema.rb +347 -0
  34. data/lib/aidp/database/storage_migrator.rb +693 -0
  35. data/lib/aidp/database.rb +139 -0
  36. data/lib/aidp/debug_mixin.rb +2 -2
  37. data/lib/aidp/execute/checkpoint.rb +26 -0
  38. data/lib/aidp/execute/checkpoint_display.rb +16 -0
  39. data/lib/aidp/execute/prompt_evaluator.rb +30 -57
  40. data/lib/aidp/execute/work_loop_runner.rb +294 -46
  41. data/lib/aidp/firewall/provider_requirements_collector.rb +7 -23
  42. data/lib/aidp/harness/agent_harness_provider_manager.rb +275 -0
  43. data/lib/aidp/harness/ai_decision_engine.rb +78 -296
  44. data/lib/aidp/harness/config_schema.rb +59 -0
  45. data/lib/aidp/harness/configuration.rb +229 -10
  46. data/lib/aidp/harness/deprecation_cache.rb +53 -11
  47. data/lib/aidp/harness/enhanced_runner.rb +1 -1
  48. data/lib/aidp/harness/error_handler.rb +11 -5
  49. data/lib/aidp/harness/provider_config.rb +36 -0
  50. data/lib/aidp/harness/provider_factory.rb +26 -24
  51. data/lib/aidp/harness/provider_info.rb +9 -5
  52. data/lib/aidp/harness/provider_manager.rb +2 -2
  53. data/lib/aidp/harness/provider_metrics.rb +103 -1
  54. data/lib/aidp/harness/rspec_command_optimizer.rb +166 -0
  55. data/lib/aidp/harness/ruby_llm_registry.rb +97 -8
  56. data/lib/aidp/harness/runner.rb +7 -2
  57. data/lib/aidp/harness/state_manager.rb +1 -1
  58. data/lib/aidp/harness/test_runner.rb +167 -11
  59. data/lib/aidp/harness/thinking_depth_manager.rb +564 -5
  60. data/lib/aidp/harness/usage_limit.rb +179 -0
  61. data/lib/aidp/harness/usage_limit_enforcer.rb +240 -0
  62. data/lib/aidp/harness/usage_limit_tracker.rb +308 -0
  63. data/lib/aidp/harness/usage_period.rb +234 -0
  64. data/lib/aidp/init/agent_instructions_generator.rb +317 -0
  65. data/lib/aidp/init/runner.rb +25 -4
  66. data/lib/aidp/interfaces/activity_monitor_interface.rb +234 -0
  67. data/lib/aidp/interfaces/binary_checker_interface.rb +232 -0
  68. data/lib/aidp/interfaces/command_executor_interface.rb +216 -0
  69. data/lib/aidp/interfaces/logger_interface.rb +150 -0
  70. data/lib/aidp/interfaces/ui_interface.rb +254 -0
  71. data/lib/aidp/logger.rb +25 -7
  72. data/lib/aidp/orchestration_adapter.rb +279 -0
  73. data/lib/aidp/pr_worktree_manager.rb +4 -15
  74. data/lib/aidp/prompts/feedback_collector.rb +198 -0
  75. data/lib/aidp/prompts/prompt_template_manager.rb +415 -0
  76. data/lib/aidp/prompts/template_evolver.rb +305 -0
  77. data/lib/aidp/prompts/template_version_manager.rb +325 -0
  78. data/lib/aidp/setup/in_memory_config_adapter.rb +257 -0
  79. data/lib/aidp/setup/in_memory_config_manager.rb +262 -0
  80. data/lib/aidp/setup/wizard.rb +616 -176
  81. data/lib/aidp/shell_executor.rb +58 -0
  82. data/lib/aidp/style_guide/selector.rb +56 -1
  83. data/lib/aidp/temporal/activities/analyze_issue_activity.rb +198 -0
  84. data/lib/aidp/temporal/activities/analyze_sub_task_activity.rb +163 -0
  85. data/lib/aidp/temporal/activities/base_activity.rb +78 -0
  86. data/lib/aidp/temporal/activities/create_plan_activity.rb +115 -0
  87. data/lib/aidp/temporal/activities/create_pr_activity.rb +193 -0
  88. data/lib/aidp/temporal/activities/create_prompt_activity.rb +118 -0
  89. data/lib/aidp/temporal/activities/diagnose_failure_activity.rb +228 -0
  90. data/lib/aidp/temporal/activities/prepare_next_iteration_activity.rb +147 -0
  91. data/lib/aidp/temporal/activities/record_checkpoint_activity.rb +81 -0
  92. data/lib/aidp/temporal/activities/run_agent_activity.rb +139 -0
  93. data/lib/aidp/temporal/activities/run_tests_activity.rb +114 -0
  94. data/lib/aidp/temporal/activities/run_work_loop_iteration_activity.rb +249 -0
  95. data/lib/aidp/temporal/configuration.rb +169 -0
  96. data/lib/aidp/temporal/connection.rb +93 -0
  97. data/lib/aidp/temporal/worker.rb +119 -0
  98. data/lib/aidp/temporal/workflow_client.rb +171 -0
  99. data/lib/aidp/temporal/workflows/base_workflow.rb +73 -0
  100. data/lib/aidp/temporal/workflows/issue_to_pr_workflow.rb +278 -0
  101. data/lib/aidp/temporal/workflows/sub_issue_workflow.rb +253 -0
  102. data/lib/aidp/temporal/workflows/work_loop_workflow.rb +321 -0
  103. data/lib/aidp/temporal.rb +120 -0
  104. data/lib/aidp/version.rb +1 -1
  105. data/lib/aidp/watch/base_processor.rb +35 -0
  106. data/lib/aidp/watch/build_processor.rb +132 -0
  107. data/lib/aidp/watch/github_state_extractor.rb +0 -8
  108. data/lib/aidp/watch/rebase_processor.rb +245 -0
  109. data/lib/aidp/watch/round_robin_scheduler.rb +150 -0
  110. data/lib/aidp/watch/runner.rb +366 -285
  111. data/lib/aidp/watch/state_store.rb +80 -0
  112. data/lib/aidp/watch/work_item.rb +96 -0
  113. data/lib/aidp/watch/worktree_cleanup_job.rb +226 -0
  114. data/lib/aidp/watch/worktree_reconciler.rb +643 -0
  115. data/lib/aidp/workflows/guided_agent.rb +1 -1
  116. data/lib/aidp/worktree.rb +62 -0
  117. data/templates/aidp.yml.example +70 -0
  118. metadata +117 -16
  119. data/lib/aidp/analyze/json_file_storage.rb +0 -292
  120. data/lib/aidp/execute/future_work_backlog.rb +0 -411
  121. data/lib/aidp/providers/adapter.rb +0 -239
  122. data/lib/aidp/providers/aider.rb +0 -264
  123. data/lib/aidp/providers/anthropic.rb +0 -614
  124. data/lib/aidp/providers/base.rb +0 -617
  125. data/lib/aidp/providers/capability_registry.rb +0 -204
  126. data/lib/aidp/providers/codex.rb +0 -267
  127. data/lib/aidp/providers/cursor.rb +0 -304
  128. data/lib/aidp/providers/error_taxonomy.rb +0 -195
  129. data/lib/aidp/providers/gemini.rb +0 -110
  130. data/lib/aidp/providers/github_copilot.rb +0 -227
  131. data/lib/aidp/providers/kilocode.rb +0 -157
  132. data/lib/aidp/providers/opencode.rb +0 -139
data/lib/aidp/worktree.rb CHANGED
@@ -30,6 +30,10 @@ module Aidp
30
30
  worktree_path = worktree_path_for(slug, project_dir)
31
31
 
32
32
  if Dir.exist?(worktree_path)
33
+ # Directory exists but not in registry - try to recover it
34
+ recovered = recover_existing_worktree(slug, worktree_path, branch, project_dir, task)
35
+ return recovered if recovered
36
+
33
37
  raise WorktreeExists, "Worktree already exists at #{worktree_path}"
34
38
  end
35
39
 
@@ -252,6 +256,64 @@ module Aidp
252
256
  end
253
257
  end
254
258
 
259
+ # Recover an existing worktree directory that isn't in the registry.
260
+ # This handles cases where a previous run was interrupted or the registry was lost.
261
+ #
262
+ # @param slug [String] Workstream identifier
263
+ # @param worktree_path [String] Path to the existing worktree directory
264
+ # @param expected_branch [String] The branch we expected to use
265
+ # @param project_dir [String] Project root directory
266
+ # @param task [String, nil] Task description for workstream state
267
+ # @return [Hash, nil] Worktree info if recovered, nil if recovery failed
268
+ def recover_existing_worktree(slug, worktree_path, expected_branch, project_dir, task)
269
+ # Only attempt recovery if the worktree is NOT already registered
270
+ # If it's registered, this is a true duplicate and should fail
271
+ registry = load_registry(project_dir)
272
+ return nil if registry.key?(slug)
273
+
274
+ # Check if it's a valid git worktree by looking for .git file
275
+ git_file = File.join(worktree_path, ".git")
276
+ return nil unless File.exist?(git_file)
277
+
278
+ # Get the current branch in the worktree
279
+ actual_branch = detect_worktree_branch(worktree_path)
280
+ return nil unless actual_branch
281
+
282
+ Aidp.log_debug("worktree", "recovering_existing",
283
+ slug: slug, path: worktree_path, branch: actual_branch)
284
+
285
+ # Ensure .aidp directory exists
286
+ ensure_aidp_dir(worktree_path)
287
+
288
+ # Re-register the worktree with its actual branch
289
+ register_worktree(slug, worktree_path, actual_branch, project_dir)
290
+
291
+ # Initialize workstream state if not already present
292
+ unless Aidp::WorkstreamState.read(slug: slug, project_dir: project_dir)
293
+ Aidp::WorkstreamState.init(slug: slug, project_dir: project_dir, task: task)
294
+ end
295
+
296
+ {
297
+ slug: slug,
298
+ path: worktree_path,
299
+ branch: actual_branch
300
+ }
301
+ end
302
+
303
+ # Detect the branch name for a worktree directory
304
+ #
305
+ # @param worktree_path [String] Path to the worktree
306
+ # @return [String, nil] Branch name or nil if detection failed
307
+ def detect_worktree_branch(worktree_path)
308
+ stdout, _, status = Dir.chdir(worktree_path) do
309
+ Open3.capture3("git", "rev-parse", "--abbrev-ref", "HEAD")
310
+ end
311
+ return nil unless status.success?
312
+
313
+ branch = stdout.strip
314
+ branch.empty? ? nil : branch
315
+ end
316
+
255
317
  # Check if a branch exists on the remote (origin)
256
318
  # @param project_dir [String] Project root directory
257
319
  # @param branch [String] Branch name to check
@@ -765,6 +765,76 @@ devcontainer:
765
765
  # - "api.example.com"
766
766
  # - "registry.example.com"
767
767
 
768
+ # Work Loop Configuration
769
+ # Configures deterministic commands that run during work loops
770
+ work_loop:
771
+ enabled: true
772
+ max_iterations: 50
773
+ task_completion_required: true
774
+
775
+ # Generic commands array (recommended - replaces category-specific arrays)
776
+ # Each command specifies when it runs: each_unit, full_loop, or on_completion
777
+ commands:
778
+ # Tests run after each work unit iteration
779
+ - name: "unit_tests"
780
+ command: "bundle exec rspec"
781
+ category: "test"
782
+ run_after: "each_unit" # Run after each agent iteration
783
+ required: true # Failure blocks completion
784
+ timeout_seconds: 1800
785
+
786
+ # Linters run after each work unit iteration
787
+ - name: "lint"
788
+ command: "bundle exec standardrb"
789
+ category: "lint"
790
+ run_after: "each_unit"
791
+ required: true
792
+ timeout_seconds: 300
793
+
794
+ # Formatters run only when agent marks work complete
795
+ - name: "format"
796
+ command: "bundle exec standardrb --fix"
797
+ category: "formatter"
798
+ run_after: "on_completion" # Only run when work is marked complete
799
+ required: false # Auto-fixers don't block completion
800
+
801
+ # Build commands run after each iteration
802
+ - name: "typecheck"
803
+ command: "bundle exec srb tc"
804
+ category: "build"
805
+ run_after: "each_unit"
806
+ required: false # Optional - warnings don't block
807
+
808
+ # Custom commands for project-specific validation
809
+ - name: "security_scan"
810
+ command: "bundle exec brakeman -q"
811
+ category: "custom"
812
+ run_after: "full_loop" # Only run at end of full work loop
813
+ required: false
814
+
815
+ # Legacy category-specific arrays (for backwards compatibility)
816
+ # These are merged with the commands array above
817
+ # test_commands: []
818
+ # lint_commands: []
819
+ # formatter_commands: []
820
+ # build_commands: []
821
+ # documentation_commands: []
822
+
823
+ # Output filtering reduces token consumption
824
+ output_filtering:
825
+ enabled: true
826
+ test_mode: "failures_only" # full, failures_only, minimal
827
+ lint_mode: "failures_only"
828
+ test_max_lines: 500
829
+ lint_max_lines: 300
830
+
831
+ # Guards protect sensitive files
832
+ guards:
833
+ enabled: false
834
+ include_files: []
835
+ exclude_files: ["node_modules/**", "dist/**"]
836
+ confirm_files: [] # Files requiring confirmation
837
+
768
838
  # Watch mode configuration
769
839
  # Configures automated monitoring and processing of GitHub issues/PRs
770
840
  watch:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aidp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.34.1
4
+ version: 0.39.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bart Agapinan
@@ -9,6 +9,20 @@ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: agent-harness
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '0.2'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '0.2'
12
26
  - !ruby/object:Gem::Dependency
13
27
  name: concurrent-ruby
14
28
  requirement: !ruby/object:Gem::Requirement
@@ -261,6 +275,34 @@ dependencies:
261
275
  - - "~>"
262
276
  - !ruby/object:Gem::Version
263
277
  version: '0.12'
278
+ - !ruby/object:Gem::Dependency
279
+ name: sqlite3
280
+ requirement: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - "~>"
283
+ - !ruby/object:Gem::Version
284
+ version: '2.0'
285
+ type: :runtime
286
+ prerelease: false
287
+ version_requirements: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - "~>"
290
+ - !ruby/object:Gem::Version
291
+ version: '2.0'
292
+ - !ruby/object:Gem::Dependency
293
+ name: temporalio
294
+ requirement: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - "~>"
297
+ - !ruby/object:Gem::Version
298
+ version: '1.0'
299
+ type: :runtime
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - "~>"
304
+ - !ruby/object:Gem::Version
305
+ version: '1.0'
264
306
  description: The AI-Dev-Pipeline (AIDP) CLI provides a powerful, markdown-driven workflow
265
307
  for software development. It supports in-depth project analysis to understand existing
266
308
  codebases and an execution mode to systematically implement new features.
@@ -275,9 +317,9 @@ files:
275
317
  - README.md
276
318
  - exe/aidp
277
319
  - lib/aidp.rb
320
+ - lib/aidp/agent_harness_adapter.rb
278
321
  - lib/aidp/analyze/error_handler.rb
279
322
  - lib/aidp/analyze/feature_analyzer.rb
280
- - lib/aidp/analyze/json_file_storage.rb
281
323
  - lib/aidp/analyze/kb_inspector.rb
282
324
  - lib/aidp/analyze/progress.rb
283
325
  - lib/aidp/analyze/ruby_maat_integration.rb
@@ -310,8 +352,11 @@ files:
310
352
  - lib/aidp/cli/jobs_command.rb
311
353
  - lib/aidp/cli/mcp_dashboard.rb
312
354
  - lib/aidp/cli/models_command.rb
355
+ - lib/aidp/cli/prompts_command.rb
313
356
  - lib/aidp/cli/providers_command.rb
314
357
  - lib/aidp/cli/security_command.rb
358
+ - lib/aidp/cli/storage_command.rb
359
+ - lib/aidp/cli/temporal_command.rb
315
360
  - lib/aidp/cli/terminal_io.rb
316
361
  - lib/aidp/cli/tools_command.rb
317
362
  - lib/aidp/comment_consolidator.rb
@@ -324,6 +369,28 @@ files:
324
369
  - lib/aidp/core_ext/class_attribute.rb
325
370
  - lib/aidp/daemon/process_manager.rb
326
371
  - lib/aidp/daemon/runner.rb
372
+ - lib/aidp/database.rb
373
+ - lib/aidp/database/migrations.rb
374
+ - lib/aidp/database/repositories/checkpoint_repository.rb
375
+ - lib/aidp/database/repositories/deprecated_models_repository.rb
376
+ - lib/aidp/database/repositories/evaluation_repository.rb
377
+ - lib/aidp/database/repositories/harness_state_repository.rb
378
+ - lib/aidp/database/repositories/job_repository.rb
379
+ - lib/aidp/database/repositories/model_cache_repository.rb
380
+ - lib/aidp/database/repositories/progress_repository.rb
381
+ - lib/aidp/database/repositories/prompt_archive_repository.rb
382
+ - lib/aidp/database/repositories/prompt_feedback_repository.rb
383
+ - lib/aidp/database/repositories/provider_info_cache_repository.rb
384
+ - lib/aidp/database/repositories/provider_metrics_repository.rb
385
+ - lib/aidp/database/repositories/secrets_repository.rb
386
+ - lib/aidp/database/repositories/task_repository.rb
387
+ - lib/aidp/database/repositories/template_version_repository.rb
388
+ - lib/aidp/database/repositories/watch_state_repository.rb
389
+ - lib/aidp/database/repositories/workstream_repository.rb
390
+ - lib/aidp/database/repositories/worktree_repository.rb
391
+ - lib/aidp/database/repository.rb
392
+ - lib/aidp/database/schema.rb
393
+ - lib/aidp/database/storage_migrator.rb
327
394
  - lib/aidp/debug_mixin.rb
328
395
  - lib/aidp/errors.rb
329
396
  - lib/aidp/evaluations.rb
@@ -335,7 +402,6 @@ files:
335
402
  - lib/aidp/execute/checkpoint.rb
336
403
  - lib/aidp/execute/checkpoint_display.rb
337
404
  - lib/aidp/execute/deterministic_unit.rb
338
- - lib/aidp/execute/future_work_backlog.rb
339
405
  - lib/aidp/execute/guard_policy.rb
340
406
  - lib/aidp/execute/instruction_queue.rb
341
407
  - lib/aidp/execute/interactive_repl.rb
@@ -351,6 +417,7 @@ files:
351
417
  - lib/aidp/execute/work_loop_unit_scheduler.rb
352
418
  - lib/aidp/execute/workflow_selector.rb
353
419
  - lib/aidp/firewall/provider_requirements_collector.rb
420
+ - lib/aidp/harness/agent_harness_provider_manager.rb
354
421
  - lib/aidp/harness/ai_decision_engine.rb
355
422
  - lib/aidp/harness/ai_filter_factory.rb
356
423
  - lib/aidp/harness/capability_registry.rb
@@ -378,6 +445,7 @@ files:
378
445
  - lib/aidp/harness/provider_manager.rb
379
446
  - lib/aidp/harness/provider_metrics.rb
380
447
  - lib/aidp/harness/provider_type_checker.rb
448
+ - lib/aidp/harness/rspec_command_optimizer.rb
381
449
  - lib/aidp/harness/rspec_filter_strategy.rb
382
450
  - lib/aidp/harness/ruby_llm_registry.rb
383
451
  - lib/aidp/harness/runner.rb
@@ -412,13 +480,23 @@ files:
412
480
  - lib/aidp/harness/ui/status_manager.rb
413
481
  - lib/aidp/harness/ui/status_widget.rb
414
482
  - lib/aidp/harness/ui/workflow_controller.rb
483
+ - lib/aidp/harness/usage_limit.rb
484
+ - lib/aidp/harness/usage_limit_enforcer.rb
485
+ - lib/aidp/harness/usage_limit_tracker.rb
486
+ - lib/aidp/harness/usage_period.rb
415
487
  - lib/aidp/harness/user_interface.rb
416
488
  - lib/aidp/harness/zfc_condition_detector.rb
417
489
  - lib/aidp/init.rb
490
+ - lib/aidp/init/agent_instructions_generator.rb
418
491
  - lib/aidp/init/devcontainer_generator.rb
419
492
  - lib/aidp/init/doc_generator.rb
420
493
  - lib/aidp/init/project_analyzer.rb
421
494
  - lib/aidp/init/runner.rb
495
+ - lib/aidp/interfaces/activity_monitor_interface.rb
496
+ - lib/aidp/interfaces/binary_checker_interface.rb
497
+ - lib/aidp/interfaces/command_executor_interface.rb
498
+ - lib/aidp/interfaces/logger_interface.rb
499
+ - lib/aidp/interfaces/ui_interface.rb
422
500
  - lib/aidp/jobs/background_runner.rb
423
501
  - lib/aidp/loader.rb
424
502
  - lib/aidp/logger.rb
@@ -431,6 +509,7 @@ files:
431
509
  - lib/aidp/metadata/scanner.rb
432
510
  - lib/aidp/metadata/tool_metadata.rb
433
511
  - lib/aidp/metadata/validator.rb
512
+ - lib/aidp/orchestration_adapter.rb
434
513
  - lib/aidp/planning/analyzers/feedback_analyzer.rb
435
514
  - lib/aidp/planning/builders/agile_plan_builder.rb
436
515
  - lib/aidp/planning/builders/project_plan_builder.rb
@@ -452,19 +531,11 @@ files:
452
531
  - lib/aidp/prompt_optimization/source_code_fragmenter.rb
453
532
  - lib/aidp/prompt_optimization/style_guide_indexer.rb
454
533
  - lib/aidp/prompt_optimization/template_indexer.rb
534
+ - lib/aidp/prompts/feedback_collector.rb
535
+ - lib/aidp/prompts/prompt_template_manager.rb
536
+ - lib/aidp/prompts/template_evolver.rb
537
+ - lib/aidp/prompts/template_version_manager.rb
455
538
  - lib/aidp/provider_manager.rb
456
- - lib/aidp/providers/adapter.rb
457
- - lib/aidp/providers/aider.rb
458
- - lib/aidp/providers/anthropic.rb
459
- - lib/aidp/providers/base.rb
460
- - lib/aidp/providers/capability_registry.rb
461
- - lib/aidp/providers/codex.rb
462
- - lib/aidp/providers/cursor.rb
463
- - lib/aidp/providers/error_taxonomy.rb
464
- - lib/aidp/providers/gemini.rb
465
- - lib/aidp/providers/github_copilot.rb
466
- - lib/aidp/providers/kilocode.rb
467
- - lib/aidp/providers/opencode.rb
468
539
  - lib/aidp/rescue_logging.rb
469
540
  - lib/aidp/safe_directory.rb
470
541
  - lib/aidp/security.rb
@@ -478,8 +549,11 @@ files:
478
549
  - lib/aidp/setup/devcontainer/generator.rb
479
550
  - lib/aidp/setup/devcontainer/parser.rb
480
551
  - lib/aidp/setup/devcontainer/port_manager.rb
552
+ - lib/aidp/setup/in_memory_config_adapter.rb
553
+ - lib/aidp/setup/in_memory_config_manager.rb
481
554
  - lib/aidp/setup/provider_registry.rb
482
555
  - lib/aidp/setup/wizard.rb
556
+ - lib/aidp/shell_executor.rb
483
557
  - lib/aidp/skills.rb
484
558
  - lib/aidp/skills/composer.rb
485
559
  - lib/aidp/skills/loader.rb
@@ -496,6 +570,27 @@ files:
496
570
  - lib/aidp/storage/file_manager.rb
497
571
  - lib/aidp/storage/json_storage.rb
498
572
  - lib/aidp/style_guide/selector.rb
573
+ - lib/aidp/temporal.rb
574
+ - lib/aidp/temporal/activities/analyze_issue_activity.rb
575
+ - lib/aidp/temporal/activities/analyze_sub_task_activity.rb
576
+ - lib/aidp/temporal/activities/base_activity.rb
577
+ - lib/aidp/temporal/activities/create_plan_activity.rb
578
+ - lib/aidp/temporal/activities/create_pr_activity.rb
579
+ - lib/aidp/temporal/activities/create_prompt_activity.rb
580
+ - lib/aidp/temporal/activities/diagnose_failure_activity.rb
581
+ - lib/aidp/temporal/activities/prepare_next_iteration_activity.rb
582
+ - lib/aidp/temporal/activities/record_checkpoint_activity.rb
583
+ - lib/aidp/temporal/activities/run_agent_activity.rb
584
+ - lib/aidp/temporal/activities/run_tests_activity.rb
585
+ - lib/aidp/temporal/activities/run_work_loop_iteration_activity.rb
586
+ - lib/aidp/temporal/configuration.rb
587
+ - lib/aidp/temporal/connection.rb
588
+ - lib/aidp/temporal/worker.rb
589
+ - lib/aidp/temporal/workflow_client.rb
590
+ - lib/aidp/temporal/workflows/base_workflow.rb
591
+ - lib/aidp/temporal/workflows/issue_to_pr_workflow.rb
592
+ - lib/aidp/temporal/workflows/sub_issue_workflow.rb
593
+ - lib/aidp/temporal/workflows/work_loop_workflow.rb
499
594
  - lib/aidp/tooling_detector.rb
500
595
  - lib/aidp/util.rb
501
596
  - lib/aidp/utils/devcontainer_detector.rb
@@ -504,6 +599,7 @@ files:
504
599
  - lib/aidp/watch/auto_merger.rb
505
600
  - lib/aidp/watch/auto_pr_processor.rb
506
601
  - lib/aidp/watch/auto_processor.rb
602
+ - lib/aidp/watch/base_processor.rb
507
603
  - lib/aidp/watch/build_processor.rb
508
604
  - lib/aidp/watch/change_request_processor.rb
509
605
  - lib/aidp/watch/ci_fix_processor.rb
@@ -515,6 +611,7 @@ files:
515
611
  - lib/aidp/watch/plan_generator.rb
516
612
  - lib/aidp/watch/plan_processor.rb
517
613
  - lib/aidp/watch/projects_processor.rb
614
+ - lib/aidp/watch/rebase_processor.rb
518
615
  - lib/aidp/watch/repository_client.rb
519
616
  - lib/aidp/watch/repository_safety_checker.rb
520
617
  - lib/aidp/watch/review_processor.rb
@@ -522,9 +619,13 @@ files:
522
619
  - lib/aidp/watch/reviewers/performance_reviewer.rb
523
620
  - lib/aidp/watch/reviewers/security_reviewer.rb
524
621
  - lib/aidp/watch/reviewers/senior_dev_reviewer.rb
622
+ - lib/aidp/watch/round_robin_scheduler.rb
525
623
  - lib/aidp/watch/runner.rb
526
624
  - lib/aidp/watch/state_store.rb
527
625
  - lib/aidp/watch/sub_issue_creator.rb
626
+ - lib/aidp/watch/work_item.rb
627
+ - lib/aidp/watch/worktree_cleanup_job.rb
628
+ - lib/aidp/watch/worktree_reconciler.rb
528
629
  - lib/aidp/workflows/definitions.rb
529
630
  - lib/aidp/workflows/guided_agent.rb
530
631
  - lib/aidp/workflows/selector.rb
@@ -616,7 +717,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
616
717
  - !ruby/object:Gem::Version
617
718
  version: '0'
618
719
  requirements: []
619
- rubygems_version: 3.6.9
720
+ rubygems_version: 4.0.6
620
721
  specification_version: 4
621
722
  summary: A CLI for AI-driven software development, from analysis to execution.
622
723
  test_files: []