evilution 0.31.0 → 0.33.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/.beads/interactions.jsonl +28 -0
  3. data/.rubocop_todo.yml +1 -0
  4. data/CHANGELOG.md +28 -0
  5. data/README.md +8 -8
  6. data/docs/integrations.md +141 -0
  7. data/docs/isolation.md +15 -0
  8. data/lib/evilution/baseline.rb +11 -4
  9. data/lib/evilution/cli/parser/options_builder.rb +1 -1
  10. data/lib/evilution/config/validators/integration.rb +5 -1
  11. data/lib/evilution/config.rb +1 -1
  12. data/lib/evilution/integration/loading/mutation_applier.rb +1 -2
  13. data/lib/evilution/integration/loading/source_evaluator.rb +1 -2
  14. data/lib/evilution/integration/loading/test_load_path.rb +76 -0
  15. data/lib/evilution/integration/minitest.rb +6 -3
  16. data/lib/evilution/integration/rspec/baseline_runner.rb +3 -1
  17. data/lib/evilution/integration/rspec/framework_loader.rb +5 -1
  18. data/lib/evilution/integration/rspec/state_guard/configuration_state.rb +72 -0
  19. data/lib/evilution/integration/rspec/state_guard/configuration_streams.rb +45 -0
  20. data/lib/evilution/integration/rspec/state_guard.rb +3 -1
  21. data/lib/evilution/integration/test_unit/dispatcher.rb +26 -0
  22. data/lib/evilution/integration/test_unit/framework_loader.rb +33 -0
  23. data/lib/evilution/integration/test_unit/result_builder.rb +53 -0
  24. data/lib/evilution/integration/test_unit/subject_class_registry.rb +26 -0
  25. data/lib/evilution/integration/test_unit/test_file_resolver.rb +48 -0
  26. data/lib/evilution/integration/test_unit.rb +132 -0
  27. data/lib/evilution/integration/test_unit_crash_detector.rb +61 -0
  28. data/lib/evilution/isolation/fork.rb +45 -3
  29. data/lib/evilution/mcp/info_tool.rb +2 -2
  30. data/lib/evilution/mcp/mutate_tool.rb +3 -2
  31. data/lib/evilution/parallel/work_queue/dispatcher.rb +94 -22
  32. data/lib/evilution/parallel/work_queue/worker.rb +49 -3
  33. data/lib/evilution/parallel/work_queue/worker_registry.rb +47 -0
  34. data/lib/evilution/parallel/work_queue.rb +8 -0
  35. data/lib/evilution/reporter/cli/line_formatters/unresolved_rate_warning.rb +50 -0
  36. data/lib/evilution/reporter/cli/metrics_block.rb +2 -0
  37. data/lib/evilution/runner/baseline_runner.rb +3 -1
  38. data/lib/evilution/runner/mutation_executor/strategy/parallel.rb +28 -1
  39. data/lib/evilution/runner.rb +12 -1
  40. data/lib/evilution/spec_resolver.rb +81 -9
  41. data/lib/evilution/version.rb +1 -1
  42. data/lib/evilution.rb +11 -0
  43. data/lib/tasks/stress.rake +15 -0
  44. data/script/run_self_baseline +2 -2
  45. metadata +16 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evilution
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.33.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Kiselev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-27 00:00:00.000000000 Z
11
+ date: 2026-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs
@@ -104,6 +104,7 @@ files:
104
104
  - comparison_results/operator_classification.md
105
105
  - comparison_results/operator_prioritization.md
106
106
  - docs/ast_pattern_syntax.md
107
+ - docs/integrations.md
107
108
  - docs/isolation.md
108
109
  - docs/mutation_density_benchmark.md
109
110
  - docs/versioning.md
@@ -222,6 +223,7 @@ files:
222
223
  - lib/evilution/integration/loading/redefinition_recovery.rb
223
224
  - lib/evilution/integration/loading/source_evaluator.rb
224
225
  - lib/evilution/integration/loading/syntax_validator.rb
226
+ - lib/evilution/integration/loading/test_load_path.rb
225
227
  - lib/evilution/integration/minitest.rb
226
228
  - lib/evilution/integration/minitest_crash_detector.rb
227
229
  - lib/evilution/integration/rspec.rb
@@ -231,6 +233,8 @@ files:
231
233
  - lib/evilution/integration/rspec/framework_loader.rb
232
234
  - lib/evilution/integration/rspec/result_builder.rb
233
235
  - lib/evilution/integration/rspec/state_guard.rb
236
+ - lib/evilution/integration/rspec/state_guard/configuration_state.rb
237
+ - lib/evilution/integration/rspec/state_guard/configuration_streams.rb
234
238
  - lib/evilution/integration/rspec/state_guard/example_groups_constants.rb
235
239
  - lib/evilution/integration/rspec/state_guard/internals.rb
236
240
  - lib/evilution/integration/rspec/state_guard/object_space_example_groups.rb
@@ -240,6 +244,13 @@ files:
240
244
  - lib/evilution/integration/rspec/state_guard/world_sources_by_path.rb
241
245
  - lib/evilution/integration/rspec/test_file_resolver.rb
242
246
  - lib/evilution/integration/rspec/unresolved_spec_warner.rb
247
+ - lib/evilution/integration/test_unit.rb
248
+ - lib/evilution/integration/test_unit/dispatcher.rb
249
+ - lib/evilution/integration/test_unit/framework_loader.rb
250
+ - lib/evilution/integration/test_unit/result_builder.rb
251
+ - lib/evilution/integration/test_unit/subject_class_registry.rb
252
+ - lib/evilution/integration/test_unit/test_file_resolver.rb
253
+ - lib/evilution/integration/test_unit_crash_detector.rb
243
254
  - lib/evilution/isolation.rb
244
255
  - lib/evilution/isolation/fork.rb
245
256
  - lib/evilution/isolation/in_process.rb
@@ -363,6 +374,7 @@ files:
363
374
  - lib/evilution/parallel/work_queue/validators/positive_int.rb
364
375
  - lib/evilution/parallel/work_queue/worker.rb
365
376
  - lib/evilution/parallel/work_queue/worker/loop.rb
377
+ - lib/evilution/parallel/work_queue/worker_registry.rb
366
378
  - lib/evilution/parallel/work_queue/worker_stat.rb
367
379
  - lib/evilution/parallel_db_warning.rb
368
380
  - lib/evilution/process_cleanup.rb
@@ -386,6 +398,7 @@ files:
386
398
  - lib/evilution/reporter/cli/line_formatters/result_line.rb
387
399
  - lib/evilution/reporter/cli/line_formatters/score.rb
388
400
  - lib/evilution/reporter/cli/line_formatters/truncation_notice.rb
401
+ - lib/evilution/reporter/cli/line_formatters/unresolved_rate_warning.rb
389
402
  - lib/evilution/reporter/cli/metrics_block.rb
390
403
  - lib/evilution/reporter/cli/pct.rb
391
404
  - lib/evilution/reporter/cli/section.rb
@@ -476,6 +489,7 @@ files:
476
489
  - lib/evilution/temp_dir_tracker.rb
477
490
  - lib/evilution/version.rb
478
491
  - lib/tasks/memory_check.rake
492
+ - lib/tasks/stress.rake
479
493
  - schema/evilution.config.schema.json
480
494
  - script/build_runtime_snapshot
481
495
  - script/memory_check