rigortype 0.3.4 → 0.3.6

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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/data/effects/core.yml +18 -1
  4. data/data/effects/registry.yml +31 -3
  5. data/data/gem_overlay/activesupport/core_ext.rbs +33 -0
  6. data/docs/handbook/02-everyday-types.md +1 -1
  7. data/docs/handbook/04-tuples-and-shapes.md +1 -1
  8. data/docs/handbook/08-understanding-errors.md +1 -1
  9. data/docs/handbook/09-plugins.md +2 -2
  10. data/docs/handbook/10-sorbet.md +1 -1
  11. data/docs/handbook/README.md +2 -2
  12. data/docs/handbook/appendix-go.md +1 -1
  13. data/docs/handbook/appendix-java-csharp.md +2 -2
  14. data/docs/handbook/appendix-mypy.md +1 -1
  15. data/docs/handbook/appendix-protocols-and-structural-typing.md +2 -2
  16. data/docs/handbook/appendix-rust.md +1 -1
  17. data/docs/handbook/appendix-type-theory.md +2 -2
  18. data/docs/handbook/appendix-typescript.md +4 -4
  19. data/docs/manual/02-cli-reference.md +73 -22
  20. data/docs/manual/03-configuration.md +19 -2
  21. data/docs/manual/04-diagnostics.md +15 -2
  22. data/docs/manual/08-skills.md +1 -1
  23. data/docs/manual/11-ci.md +38 -1
  24. data/docs/manual/12-caching.md +40 -1
  25. data/docs/manual/15-type-protection-coverage.md +1 -1
  26. data/docs/manual/16-rbs-extended-annotations.md +15 -2
  27. data/docs/manual/18-removing-dead-code.md +13 -4
  28. data/docs/manual/19-effect-labels.md +678 -0
  29. data/docs/manual/README.md +7 -2
  30. data/docs/manual/ci-templates/README.md +9 -0
  31. data/docs/manual/plugins/rigor-actionmailer.md +4 -4
  32. data/docs/manual/plugins/rigor-activejob.md +3 -3
  33. data/docs/manual/plugins/rigor-activerecord.md +4 -4
  34. data/docs/manual/plugins/rigor-rails-i18n.md +5 -5
  35. data/docs/manual/plugins/rigor-rspec.md +6 -2
  36. data/lib/rigor/analysis/diagnostic.rb +17 -6
  37. data/lib/rigor/analysis/effects_cache_probe.rb +132 -0
  38. data/lib/rigor/analysis/reachability/graph.rb +30 -11
  39. data/lib/rigor/analysis/reachability/plugin_roots.rb +11 -8
  40. data/lib/rigor/analysis/reachability/scan.rb +20 -4
  41. data/lib/rigor/analysis/reachability/scan_cache.rb +130 -0
  42. data/lib/rigor/analysis/rule_catalog.rb +10 -3
  43. data/lib/rigor/analysis/run_cache_key.rb +12 -0
  44. data/lib/rigor/analysis/run_cache_probe.rb +69 -1
  45. data/lib/rigor/analysis/runner/declaration_position.rb +8 -24
  46. data/lib/rigor/analysis/runner/effect_annotation_residual_pass.rb +28 -28
  47. data/lib/rigor/analysis/runner/effect_envelope_pass.rb +15 -9
  48. data/lib/rigor/analysis/runner/pool_coordinator.rb +25 -0
  49. data/lib/rigor/analysis/runner/run_snapshots.rb +7 -4
  50. data/lib/rigor/analysis/runner.rb +163 -31
  51. data/lib/rigor/analysis/worker_session.rb +3 -1
  52. data/lib/rigor/cache/file_digest.rb +20 -2
  53. data/lib/rigor/cli/check_command.rb +67 -48
  54. data/lib/rigor/cli/coverage_command.rb +5 -6
  55. data/lib/rigor/cli/doc_links.rb +100 -0
  56. data/lib/rigor/cli/docs_command.rb +32 -2
  57. data/lib/rigor/cli/effects_command.rb +149 -10
  58. data/lib/rigor/cli/effects_diff_renderer.rb +88 -14
  59. data/lib/rigor/cli/effects_explain_renderer.rb +6 -3
  60. data/lib/rigor/cli/effects_renderer.rb +41 -3
  61. data/lib/rigor/cli/effects_report.rb +116 -6
  62. data/lib/rigor/cli/effects_snapshot_command.rb +75 -11
  63. data/lib/rigor/cli/unused_command.rb +65 -16
  64. data/lib/rigor/cli.rb +33 -9
  65. data/lib/rigor/configuration.rb +37 -25
  66. data/lib/rigor/configuration_error.rb +20 -0
  67. data/lib/rigor/effects/collector.rb +38 -1
  68. data/lib/rigor/effects/definition_lines.rb +100 -0
  69. data/lib/rigor/effects/entry_points.rb +47 -1
  70. data/lib/rigor/effects/envelope_check.rb +18 -1
  71. data/lib/rigor/effects/file_collection.rb +18 -4
  72. data/lib/rigor/effects/framework_units.rb +68 -13
  73. data/lib/rigor/effects/inline_anchor.rb +134 -0
  74. data/lib/rigor/effects/liskov_check.rb +17 -8
  75. data/lib/rigor/effects/plugin_facts.rb +62 -13
  76. data/lib/rigor/effects/propagator.rb +79 -19
  77. data/lib/rigor/effects/registry.rb +10 -3
  78. data/lib/rigor/effects/scanner.rb +21 -9
  79. data/lib/rigor/effects/signature_sources.rb +29 -2
  80. data/lib/rigor/effects/snapshot.rb +74 -26
  81. data/lib/rigor/effects/snapshot_diff.rb +26 -3
  82. data/lib/rigor/effects/taint_cause.rb +1 -0
  83. data/lib/rigor/effects/unit_scan.rb +87 -12
  84. data/lib/rigor/inference/synthetic_method_scanner.rb +7 -0
  85. data/lib/rigor/plugin/base.rb +4 -0
  86. data/lib/rigor/plugin/box.rb +18 -2
  87. data/lib/rigor/plugin/effect_ancestry.rb +80 -0
  88. data/lib/rigor/plugin/manifest.rb +34 -10
  89. data/lib/rigor/plugin/registry.rb +10 -3
  90. data/lib/rigor/rbs_extended/envelope_scanner.rb +9 -0
  91. data/lib/rigor/rbs_extended.rb +22 -2
  92. data/lib/rigor/version.rb +1 -1
  93. data/plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs +17 -2
  94. data/plugins/rigor-devise/lib/rigor/plugin/devise.rb +27 -0
  95. data/plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline.rb +56 -1
  96. data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/effects.rb +75 -0
  97. data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq.rb +13 -1
  98. data/skills/rigor-ci-setup/SKILL.md +2 -2
  99. data/skills/rigor-editor-setup/SKILL.md +2 -2
  100. data/skills/rigor-mcp-setup/SKILL.md +2 -2
  101. data/skills/rigor-monkeypatch-resolve/SKILL.md +1 -1
  102. data/skills/rigor-plugin-review/SKILL.md +3 -3
  103. metadata +10 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rigortype
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rigor contributors
@@ -360,6 +360,7 @@ files:
360
360
  - docs/manual/16-rbs-extended-annotations.md
361
361
  - docs/manual/17-driving-improvement.md
362
362
  - docs/manual/18-removing-dead-code.md
363
+ - docs/manual/19-effect-labels.md
363
364
  - docs/manual/README.md
364
365
  - docs/manual/ci-templates/README.md
365
366
  - docs/manual/plugins/README.md
@@ -421,6 +422,7 @@ files:
421
422
  - lib/rigor/analysis/dependency_source_inference/return_type_heuristic.rb
422
423
  - lib/rigor/analysis/dependency_source_inference/walker.rb
423
424
  - lib/rigor/analysis/diagnostic.rb
425
+ - lib/rigor/analysis/effects_cache_probe.rb
424
426
  - lib/rigor/analysis/erb_template_detector.rb
425
427
  - lib/rigor/analysis/fact_store.rb
426
428
  - lib/rigor/analysis/incremental.rb
@@ -432,6 +434,7 @@ files:
432
434
  - lib/rigor/analysis/reachability/plugin_roots.rb
433
435
  - lib/rigor/analysis/reachability/project_files.rb
434
436
  - lib/rigor/analysis/reachability/scan.rb
437
+ - lib/rigor/analysis/reachability/scan_cache.rb
435
438
  - lib/rigor/analysis/reachability/signature_scan.rb
436
439
  - lib/rigor/analysis/result.rb
437
440
  - lib/rigor/analysis/rule_catalog.rb
@@ -487,6 +490,7 @@ files:
487
490
  - lib/rigor/cli/coverage_scan.rb
488
491
  - lib/rigor/cli/diagnostic_formats.rb
489
492
  - lib/rigor/cli/diff_command.rb
493
+ - lib/rigor/cli/doc_links.rb
490
494
  - lib/rigor/cli/docs_command.rb
491
495
  - lib/rigor/cli/doctor_command.rb
492
496
  - lib/rigor/cli/effects_command.rb
@@ -533,11 +537,13 @@ files:
533
537
  - lib/rigor/configuration.rb
534
538
  - lib/rigor/configuration/dependencies.rb
535
539
  - lib/rigor/configuration/severity_profile.rb
540
+ - lib/rigor/configuration_error.rb
536
541
  - lib/rigor/effects.rb
537
542
  - lib/rigor/effects/attribution.rb
538
543
  - lib/rigor/effects/catalog.rb
539
544
  - lib/rigor/effects/collector.rb
540
545
  - lib/rigor/effects/config_envelopes.rb
546
+ - lib/rigor/effects/definition_lines.rb
541
547
  - lib/rigor/effects/discharge.rb
542
548
  - lib/rigor/effects/effect_table.rb
543
549
  - lib/rigor/effects/entry_points.rb
@@ -547,6 +553,7 @@ files:
547
553
  - lib/rigor/effects/file_collection.rb
548
554
  - lib/rigor/effects/framework_units.rb
549
555
  - lib/rigor/effects/identity.rb
556
+ - lib/rigor/effects/inline_anchor.rb
550
557
  - lib/rigor/effects/label.rb
551
558
  - lib/rigor/effects/label_intent.rb
552
559
  - lib/rigor/effects/label_set.rb
@@ -708,6 +715,7 @@ files:
708
715
  - lib/rigor/plugin/base.rb
709
716
  - lib/rigor/plugin/blueprint.rb
710
717
  - lib/rigor/plugin/box.rb
718
+ - lib/rigor/plugin/effect_ancestry.rb
711
719
  - lib/rigor/plugin/effect_attribution.rb
712
720
  - lib/rigor/plugin/effect_edge.rb
713
721
  - lib/rigor/plugin/effect_entry_points.rb
@@ -937,6 +945,7 @@ files:
937
945
  - plugins/rigor-sidekiq/lib/rigor-sidekiq.rb
938
946
  - plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq.rb
939
947
  - plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/analyzer.rb
948
+ - plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/effects.rb
940
949
  - plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/schedule_scan.rb
941
950
  - plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/worker_discoverer.rb
942
951
  - plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/worker_index.rb