rigortype 0.3.8 → 0.4.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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/data/capability_roles/capability_roles.rbs +36 -0
- data/data/core_overlay/enumerable.rbs +51 -0
- data/data/core_overlay/enumerator.rbs +84 -0
- data/data/core_overlay/hash_rbs3.rbs +41 -0
- data/data/core_overlay/process.rbs +40 -0
- data/data/core_overlay/string_io.rbs +33 -0
- data/data/effects/core.yml +3 -3
- data/data/gem_overlay/activesupport/core_ext.rbs +236 -17
- data/docs/handbook/02-everyday-types.md +17 -14
- data/docs/handbook/03-narrowing.md +132 -14
- data/docs/handbook/04-tuples-and-shapes.md +8 -6
- data/docs/handbook/05-methods-and-blocks.md +1 -1
- data/docs/handbook/06-classes.md +2 -2
- data/docs/handbook/07-rbs-and-extended.md +19 -1
- data/docs/handbook/10-sorbet.md +9 -10
- data/docs/handbook/11-sig-gen.md +525 -13
- data/docs/handbook/README.md +1 -1
- data/docs/handbook/appendix-elixir.md +2 -2
- data/docs/handbook/appendix-go.md +2 -2
- data/docs/handbook/appendix-java-csharp.md +2 -2
- data/docs/handbook/appendix-mypy.md +2 -2
- data/docs/handbook/appendix-phpstan.md +1 -1
- data/docs/handbook/appendix-rust.md +1 -1
- data/docs/handbook/appendix-type-theory.md +4 -4
- data/docs/handbook/appendix-typescript.md +1 -1
- data/docs/llms.txt +2 -0
- data/docs/manual/02-cli-reference.md +95 -6
- data/docs/manual/03-configuration.md +18 -0
- data/docs/manual/04-diagnostics.md +15 -0
- data/docs/manual/07-plugins.md +15 -5
- data/docs/manual/08-skills.md +23 -2
- data/docs/manual/10-mcp-server.md +3 -2
- data/docs/manual/11-ci.md +9 -0
- data/docs/manual/15-type-protection-coverage.md +8 -0
- data/docs/manual/16-rbs-extended-annotations.md +46 -8
- data/docs/manual/18-removing-dead-code.md +10 -8
- data/docs/manual/19-effect-labels.md +10 -0
- data/docs/manual/plugins/README.md +7 -0
- data/docs/manual/plugins/rigor-actioncable.md +8 -1
- data/docs/manual/plugins/rigor-actionmailer.md +7 -0
- data/docs/manual/plugins/rigor-actionpack.md +261 -0
- data/docs/manual/plugins/rigor-active-model-serializers.md +153 -0
- data/docs/manual/plugins/rigor-activejob.md +7 -0
- data/docs/manual/plugins/rigor-activerecord.md +138 -4
- data/docs/manual/plugins/rigor-activestorage.md +8 -1
- data/docs/manual/plugins/rigor-activesupport-core-ext.md +43 -7
- data/docs/manual/plugins/rigor-grape.md +106 -0
- data/docs/manual/plugins/rigor-graphql.md +23 -2
- data/docs/manual/plugins/rigor-pundit.md +8 -1
- data/docs/manual/plugins/rigor-rails-i18n.md +10 -5
- data/docs/manual/plugins/rigor-rails-routes.md +7 -0
- data/docs/manual/plugins/rigor-rbs-inline.md +229 -1
- data/docs/manual/plugins/rigor-sidekiq.md +8 -1
- data/docs/manual/plugins/rigor-sorbet.md +21 -5
- data/exe/rigor +19 -4
- data/lib/rigor/analysis/baseline.rb +3 -3
- data/lib/rigor/analysis/check_rules/always_truthy_condition_collector.rb +1 -1
- data/lib/rigor/analysis/check_rules/dead_version_guard_arms.rb +1 -5
- data/lib/rigor/analysis/check_rules/declaration_sourced_guard.rb +167 -2
- data/lib/rigor/analysis/check_rules/ivar_write_collector.rb +10 -2
- data/lib/rigor/analysis/check_rules/lexical_method_sites.rb +189 -0
- data/lib/rigor/analysis/check_rules/main_pass_collector.rb +6 -4
- data/lib/rigor/analysis/check_rules/published_constant_guard.rb +15 -6
- data/lib/rigor/analysis/check_rules/rule_ids.rb +21 -6
- data/lib/rigor/analysis/check_rules/rule_walk.rb +41 -5
- data/lib/rigor/analysis/check_rules/self_closedness_scanner.rb +1 -1
- data/lib/rigor/analysis/check_rules/shadowed_rescue_collector.rb +1 -1
- data/lib/rigor/analysis/check_rules/source_arity.rb +323 -0
- data/lib/rigor/analysis/check_rules/special_global_setters.rb +146 -0
- data/lib/rigor/analysis/check_rules/unreachable_clause_collector.rb +38 -4
- data/lib/rigor/analysis/check_rules/void_value_use_collector.rb +0 -1
- data/lib/rigor/analysis/check_rules.rb +718 -79
- data/lib/rigor/analysis/crash_signature.rb +8 -24
- data/lib/rigor/analysis/dependency_recorder.rb +23 -0
- data/lib/rigor/analysis/dependency_source_inference/boundary_cross_reporter.rb +1 -1
- data/lib/rigor/analysis/dependency_source_inference/builder.rb +0 -2
- data/lib/rigor/analysis/dependency_source_inference/gem_resolver.rb +0 -2
- data/lib/rigor/analysis/dependency_source_inference/index.rb +5 -5
- data/lib/rigor/analysis/dependency_source_inference/return_type_heuristic.rb +1 -2
- data/lib/rigor/analysis/dependency_source_inference/walker.rb +4 -4
- data/lib/rigor/analysis/effects_cache_probe.rb +3 -4
- data/lib/rigor/analysis/erb_template_detector.rb +1 -2
- data/lib/rigor/analysis/fact_store.rb +15 -1
- data/lib/rigor/analysis/incremental.rb +42 -0
- data/lib/rigor/analysis/incremental_session.rb +117 -26
- data/lib/rigor/analysis/plugin_fact_fingerprint.rb +0 -1
- data/lib/rigor/analysis/project_scan.rb +11 -1
- data/lib/rigor/analysis/reachability/graph.rb +3 -5
- data/lib/rigor/analysis/reachability/plugin_roots.rb +5 -5
- data/lib/rigor/analysis/reachability/project_files.rb +2 -2
- data/lib/rigor/analysis/reachability/scan.rb +5 -5
- data/lib/rigor/analysis/reachability/scan_cache.rb +3 -2
- data/lib/rigor/analysis/reachability/signature_scan.rb +2 -2
- data/lib/rigor/analysis/result.rb +1 -3
- data/lib/rigor/analysis/rule_catalog.rb +131 -1
- data/lib/rigor/analysis/run_cache_key.rb +21 -12
- data/lib/rigor/analysis/run_cache_probe.rb +3 -5
- data/lib/rigor/analysis/runner/buffer_pool_dispatcher.rb +6 -8
- data/lib/rigor/analysis/runner/declaration_position.rb +1 -2
- data/lib/rigor/analysis/runner/diagnostic_aggregator.rb +340 -33
- data/lib/rigor/analysis/runner/effect_annotation_residual_pass.rb +2 -3
- data/lib/rigor/analysis/runner/effect_envelope_pass.rb +18 -14
- data/lib/rigor/analysis/runner/pool_coordinator.rb +357 -97
- data/lib/rigor/analysis/runner/project_pre_passes.rb +38 -13
- data/lib/rigor/analysis/runner/run_snapshots.rb +6 -1
- data/lib/rigor/analysis/runner.rb +407 -51
- data/lib/rigor/analysis/template_unit_collector.rb +303 -0
- data/lib/rigor/analysis/template_unit_paths.rb +91 -0
- data/lib/rigor/analysis/template_unit_positions.rb +293 -0
- data/lib/rigor/analysis/template_units.rb +399 -0
- data/lib/rigor/analysis/worker_session.rb +62 -20
- data/lib/rigor/bleeding_edge.rb +10 -24
- data/lib/rigor/builtins/hkt_builtins.rb +3 -2
- data/lib/rigor/builtins/imported_refinements.rb +159 -21
- data/lib/rigor/builtins/predefined_constant_refinements.rb +5 -7
- data/lib/rigor/builtins/regex_refinement.rb +21 -13
- data/lib/rigor/builtins/static_return_refinements.rb +7 -6
- data/lib/rigor/cache/annotation_location.rb +2 -4
- data/lib/rigor/cache/descriptor.rb +63 -20
- data/lib/rigor/cache/engine_source.rb +33 -5
- data/lib/rigor/cache/file_digest.rb +9 -1
- data/lib/rigor/cache/incremental_snapshot.rb +72 -6
- data/lib/rigor/cache/rbs_cache_producer.rb +4 -0
- data/lib/rigor/cache/rbs_class_ancestor_table.rb +0 -3
- data/lib/rigor/cache/rbs_class_type_param_names.rb +0 -3
- data/lib/rigor/cache/rbs_constant_table.rb +0 -3
- data/lib/rigor/cache/rbs_descriptor.rb +112 -14
- data/lib/rigor/cache/rbs_environment.rb +8 -4
- data/lib/rigor/cache/rbs_known_class_names.rb +0 -3
- data/lib/rigor/cache/store.rb +76 -32
- data/lib/rigor/ci_detector.rb +1 -0
- data/lib/rigor/cli/annotate_command.rb +5 -6
- data/lib/rigor/cli/check_command.rb +57 -10
- data/lib/rigor/cli/check_invocation.rb +6 -11
- data/lib/rigor/cli/check_runner_factory.rb +1 -5
- data/lib/rigor/cli/coverage_command.rb +1 -1
- data/lib/rigor/cli/coverage_mutation.rb +12 -3
- data/lib/rigor/cli/coverage_scan.rb +1 -5
- data/lib/rigor/cli/diff_command.rb +1 -1
- data/lib/rigor/cli/doc_links.rb +4 -4
- data/lib/rigor/cli/docs_command.rb +6 -6
- data/lib/rigor/cli/doctor_command.rb +85 -38
- data/lib/rigor/cli/effects_command.rb +2 -2
- data/lib/rigor/cli/effects_diff_renderer.rb +3 -3
- data/lib/rigor/cli/effects_snapshot_command.rb +1 -1
- data/lib/rigor/cli/explain_command.rb +34 -1
- data/lib/rigor/cli/fused_protection_report.rb +7 -1
- data/lib/rigor/cli/lsp_command.rb +1 -1
- data/lib/rigor/cli/mcp_command.rb +1 -1
- data/lib/rigor/cli/measurement_integrity_warning.rb +4 -5
- data/lib/rigor/cli/mutation_fork_scan.rb +6 -6
- data/lib/rigor/cli/mutation_protection_report.rb +7 -1
- data/lib/rigor/cli/plugin_command.rb +4 -4
- data/lib/rigor/cli/plugins_command.rb +2 -1
- data/lib/rigor/cli/prism_colorizer.rb +1 -2
- data/lib/rigor/cli/protection_fork_scan.rb +6 -6
- data/lib/rigor/cli/show_bleedingedge_command.rb +1 -1
- data/lib/rigor/cli/sig_gen_command.rb +212 -31
- data/lib/rigor/cli/skill_command.rb +2 -2
- data/lib/rigor/cli/skill_deep_probe.rb +4 -4
- data/lib/rigor/cli/skill_describe.rb +35 -35
- data/lib/rigor/cli/trace_command.rb +4 -4
- data/lib/rigor/cli/trace_renderer.rb +5 -6
- data/lib/rigor/cli/triage_command.rb +1 -1
- data/lib/rigor/cli/type_of_command.rb +29 -11
- data/lib/rigor/cli/type_of_renderer.rb +20 -9
- data/lib/rigor/cli/type_of_template_probe.rb +189 -0
- data/lib/rigor/cli/type_scan_command.rb +4 -4
- data/lib/rigor/cli/unused_command.rb +11 -3
- data/lib/rigor/cli/upgrade_command.rb +1 -1
- data/lib/rigor/cli.rb +89 -9
- data/lib/rigor/config_audit.rb +30 -5
- data/lib/rigor/configuration/severity_profile.rb +25 -9
- data/lib/rigor/configuration.rb +109 -7
- data/lib/rigor/effects/ancestry_recorder.rb +191 -0
- data/lib/rigor/effects/attribution.rb +12 -5
- data/lib/rigor/effects/callee_rule.rb +368 -0
- data/lib/rigor/effects/catalog.rb +7 -4
- data/lib/rigor/effects/collector.rb +11 -5
- data/lib/rigor/effects/config_envelopes.rb +15 -10
- data/lib/rigor/effects/definition_context.rb +179 -0
- data/lib/rigor/effects/definition_lines.rb +25 -6
- data/lib/rigor/effects/effect_table.rb +11 -4
- data/lib/rigor/effects/entry_points.rb +0 -2
- data/lib/rigor/effects/envelope_check.rb +9 -9
- data/lib/rigor/effects/envelope_index.rb +20 -8
- data/lib/rigor/effects/file_collection.rb +59 -5
- data/lib/rigor/effects/framework_units.rb +5 -7
- data/lib/rigor/effects/identity.rb +20 -6
- data/lib/rigor/effects/inline_anchor.rb +7 -7
- data/lib/rigor/effects/label_intent.rb +3 -4
- data/lib/rigor/effects/liskov_check.rb +8 -8
- data/lib/rigor/effects/local_ownership.rb +38 -12
- data/lib/rigor/effects/method_key.rb +22 -1
- data/lib/rigor/effects/mutation_classifier.rb +23 -12
- data/lib/rigor/effects/plugin_facts.rb +47 -37
- data/lib/rigor/effects/propagator.rb +297 -19
- data/lib/rigor/effects/registry.rb +1 -1
- data/lib/rigor/effects/scanner.rb +122 -73
- data/lib/rigor/effects/signature_sources.rb +4 -6
- data/lib/rigor/effects/snapshot.rb +12 -11
- data/lib/rigor/effects/snapshot_diff.rb +1 -1
- data/lib/rigor/effects/summary.rb +27 -4
- data/lib/rigor/effects/unit_scan.rb +393 -38
- data/lib/rigor/effects/unknown_label_check.rb +3 -8
- data/lib/rigor/effects/unknown_label_report.rb +3 -4
- data/lib/rigor/effects/visibility.rb +101 -0
- data/lib/rigor/environment/bundle_sig_discovery.rb +6 -6
- data/lib/rigor/environment/class_registry.rb +3 -1
- data/lib/rigor/environment/failure_slot.rb +2 -2
- data/lib/rigor/environment/installed_gem_set.rb +85 -0
- data/lib/rigor/environment/lockfile_resolver.rb +68 -4
- data/lib/rigor/environment/member_consistency/comparator.rb +708 -0
- data/lib/rigor/environment/member_consistency.rb +298 -0
- data/lib/rigor/environment/missing_gem_constant_index.rb +4 -4
- data/lib/rigor/environment/rbs_collection_discovery.rb +5 -5
- data/lib/rigor/environment/rbs_coverage_report.rb +5 -5
- data/lib/rigor/environment/rbs_hierarchy.rb +3 -1
- data/lib/rigor/environment/rbs_loader.rb +674 -79
- data/lib/rigor/environment.rb +174 -24
- data/lib/rigor/flow_contribution/merger.rb +0 -2
- data/lib/rigor/flow_contribution.rb +11 -13
- data/lib/rigor/hashing/xxh3.rb +264 -0
- data/lib/rigor/inference/acceptance.rb +292 -17
- data/lib/rigor/inference/block_auto_splat.rb +216 -0
- data/lib/rigor/inference/block_call_timing.rb +338 -0
- data/lib/rigor/inference/block_parameter_binder.rb +75 -30
- data/lib/rigor/inference/block_repetition.rb +71 -0
- data/lib/rigor/inference/body_fixpoint.rb +7 -6
- data/lib/rigor/inference/budget_trace.rb +3 -6
- data/lib/rigor/inference/builtins/method_catalog.rb +2 -1
- data/lib/rigor/inference/builtins/string_catalog.rb +1 -1
- data/lib/rigor/inference/captured_locals.rb +389 -18
- data/lib/rigor/inference/closure_escape_analyzer.rb +159 -17
- data/lib/rigor/inference/content_join.rb +200 -27
- data/lib/rigor/inference/coverage_scanner.rb +4 -6
- data/lib/rigor/inference/def_return_typer.rb +11 -7
- data/lib/rigor/inference/define_method_block_self.rb +64 -0
- data/lib/rigor/inference/dynamic_origin.rb +1 -1
- data/lib/rigor/inference/element_read_widening.rb +180 -0
- data/lib/rigor/inference/error_info.rb +196 -0
- data/lib/rigor/inference/expression_typer.rb +2124 -468
- data/lib/rigor/inference/external_ancestor_resolution.rb +267 -0
- data/lib/rigor/inference/fork_map.rb +5 -7
- data/lib/rigor/inference/fresh_frame_blocks.rb +127 -0
- data/lib/rigor/inference/global_write_census.rb +239 -0
- data/lib/rigor/inference/guard_rebinding.rb +447 -0
- data/lib/rigor/inference/hash_lookup_mutation.rb +88 -0
- data/lib/rigor/inference/hkt_reducer.rb +2 -3
- data/lib/rigor/inference/hkt_registry.rb +4 -7
- data/lib/rigor/inference/index_write_widening.rb +16 -7
- data/lib/rigor/inference/indexed_narrowing.rb +61 -9
- data/lib/rigor/inference/jump_targets.rb +82 -0
- data/lib/rigor/inference/last_line/implicit_self.rb +210 -0
- data/lib/rigor/inference/last_line/self_evidence.rb +329 -0
- data/lib/rigor/inference/last_line.rb +340 -0
- data/lib/rigor/inference/last_status.rb +144 -0
- data/lib/rigor/inference/macro_block_self_type.rb +168 -21
- data/lib/rigor/inference/match_rebinding/calls.rb +281 -0
- data/lib/rigor/inference/match_rebinding/frame.rb +148 -0
- data/lib/rigor/inference/match_rebinding/operands.rb +236 -0
- data/lib/rigor/inference/match_rebinding/self_calls.rb +83 -0
- data/lib/rigor/inference/match_rebinding.rb +392 -0
- data/lib/rigor/inference/method_dispatcher/alias_strict_nominals.rb +36 -0
- data/lib/rigor/inference/method_dispatcher/block_folding.rb +87 -33
- data/lib/rigor/inference/method_dispatcher/cgi_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/constant_folding.rb +305 -19
- data/lib/rigor/inference/method_dispatcher/data_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/facet_distribution.rb +147 -0
- data/lib/rigor/inference/method_dispatcher/file_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/hash_transform_keys_folding.rb +191 -0
- data/lib/rigor/inference/method_dispatcher/iterator_dispatch.rb +6 -2
- data/lib/rigor/inference/method_dispatcher/json_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/kernel_dispatch.rb +7 -1
- data/lib/rigor/inference/method_dispatcher/match_data_folding.rb +159 -0
- data/lib/rigor/inference/method_dispatcher/math_folding.rb +41 -3
- data/lib/rigor/inference/method_dispatcher/method_folding.rb +2 -5
- data/lib/rigor/inference/method_dispatcher/overload_selector.rb +165 -111
- data/lib/rigor/inference/method_dispatcher/process_folding.rb +56 -0
- data/lib/rigor/inference/method_dispatcher/proven_overload.rb +72 -0
- data/lib/rigor/inference/method_dispatcher/random_folding.rb +82 -0
- data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +1046 -69
- data/lib/rigor/inference/method_dispatcher/receiver_affinity.rb +25 -4
- data/lib/rigor/inference/method_dispatcher/reduce_folding.rb +2 -8
- data/lib/rigor/inference/method_dispatcher/regexp_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/self_substitute.rb +142 -0
- data/lib/rigor/inference/method_dispatcher/set_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +129 -54
- data/lib/rigor/inference/method_dispatcher/shellwords_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/singleton_mixin_dispatch.rb +1 -2
- data/lib/rigor/inference/method_dispatcher/struct_folding.rb +5 -6
- data/lib/rigor/inference/method_dispatcher/struct_materialization.rb +85 -4
- data/lib/rigor/inference/method_dispatcher/time_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher/universal_object_dispatch.rb +1 -2
- data/lib/rigor/inference/method_dispatcher/uri_folding.rb +1 -1
- data/lib/rigor/inference/method_dispatcher.rb +225 -25
- data/lib/rigor/inference/method_parameter_binder.rb +12 -9
- data/lib/rigor/inference/multi_target_binder.rb +341 -55
- data/lib/rigor/inference/mutation_rejoin.rb +171 -0
- data/lib/rigor/inference/mutation_widening.rb +156 -85
- data/lib/rigor/inference/narrowing.rb +835 -162
- data/lib/rigor/inference/operand_effects.rb +167 -0
- data/lib/rigor/inference/operand_walk.rb +88 -0
- data/lib/rigor/inference/optimistic_origin.rb +153 -16
- data/lib/rigor/inference/origin_lookup.rb +2 -3
- data/lib/rigor/inference/parameter_inference_collector.rb +7 -7
- data/lib/rigor/inference/pre_eval_constants.rb +6 -5
- data/lib/rigor/inference/precision_scanner.rb +3 -4
- data/lib/rigor/inference/project_method_ownership.rb +136 -0
- data/lib/rigor/inference/project_patched_methods.rb +9 -4
- data/lib/rigor/inference/project_patched_scanner.rb +10 -6
- data/lib/rigor/inference/protection_scanner.rb +1 -2
- data/lib/rigor/inference/range_constant.rb +57 -0
- data/lib/rigor/inference/rbs_type_translator.rb +49 -11
- data/lib/rigor/inference/receiver_alias.rb +93 -4
- data/lib/rigor/inference/receiver_blind_block.rb +219 -0
- data/lib/rigor/inference/refinement_mutation.rb +76 -0
- data/lib/rigor/inference/repeated_or_writes.rb +463 -0
- data/lib/rigor/inference/return_barrier.rb +54 -0
- data/lib/rigor/inference/rewrite_mutation.rb +120 -0
- data/lib/rigor/inference/scope_indexer.rb +5228 -627
- data/lib/rigor/inference/statement_evaluator.rb +3452 -595
- data/lib/rigor/inference/stored_block_call.rb +54 -0
- data/lib/rigor/inference/string_mutation.rb +97 -0
- data/lib/rigor/inference/struct_fold_safety.rb +6 -7
- data/lib/rigor/inference/synthetic_method_index.rb +1 -2
- data/lib/rigor/inference/synthetic_method_scanner.rb +4 -6
- data/lib/rigor/inference/unknown_store_widening.rb +200 -0
- data/lib/rigor/inference/unthreaded_rebinds.rb +282 -0
- data/lib/rigor/inference/version_guard.rb +28 -21
- data/lib/rigor/inference/void_origin.rb +3 -3
- data/lib/rigor/inference/void_tail_summary.rb +2 -4
- data/lib/rigor/language_server/buffer_table.rb +4 -4
- data/lib/rigor/language_server/completion_provider.rb +1 -1
- data/lib/rigor/language_server/debouncer.rb +0 -1
- data/lib/rigor/language_server/diagnostic_publisher.rb +7 -6
- data/lib/rigor/language_server/document_symbol_provider.rb +1 -1
- data/lib/rigor/language_server/folding_range_provider.rb +1 -1
- data/lib/rigor/language_server/hover_provider.rb +1 -1
- data/lib/rigor/language_server/hover_renderer.rb +4 -4
- data/lib/rigor/language_server/incremental_sync.rb +6 -6
- data/lib/rigor/language_server/project_context.rb +7 -8
- data/lib/rigor/language_server/publish_batcher.rb +2 -2
- data/lib/rigor/language_server/selection_range_provider.rb +2 -2
- data/lib/rigor/language_server/server.rb +9 -9
- data/lib/rigor/language_server/signature_help_provider.rb +1 -1
- data/lib/rigor/language_server/uri.rb +1 -1
- data/lib/rigor/mcp/server.rb +2 -1
- data/lib/rigor/plugin/base.rb +258 -26
- data/lib/rigor/plugin/box_probe.rb +91 -0
- data/lib/rigor/plugin/bundled_catalog.rb +167 -0
- data/lib/rigor/plugin/effect_attribution.rb +65 -11
- data/lib/rigor/plugin/effect_entry_points.rb +3 -3
- data/lib/rigor/plugin/fact_store.rb +6 -6
- data/lib/rigor/plugin/io_boundary.rb +93 -8
- data/lib/rigor/plugin/isolation.rb +29 -6
- data/lib/rigor/plugin/loader.rb +33 -13
- data/lib/rigor/plugin/macro/block_as_method.rb +45 -6
- data/lib/rigor/plugin/macro/heredoc_template.rb +1 -1
- data/lib/rigor/plugin/macro/trait_registry.rb +1 -1
- data/lib/rigor/plugin/manifest.rb +94 -11
- data/lib/rigor/plugin/registry.rb +76 -12
- data/lib/rigor/plugin/source_rbs_synthesis_reporter.rb +21 -4
- data/lib/rigor/plugin/template_unit.rb +196 -0
- data/lib/rigor/plugin/trust_policy.rb +2 -4
- data/lib/rigor/plugin/type_node_resolver.rb +3 -3
- data/lib/rigor/plugin.rb +1 -0
- data/lib/rigor/plugin_gap_advisory.rb +96 -0
- data/lib/rigor/project_environment.rb +138 -0
- data/lib/rigor/protection/analysis_guard.rb +93 -14
- data/lib/rigor/protection/closure_kill_oracle.rb +67 -23
- data/lib/rigor/protection/dependency_closure.rb +5 -8
- data/lib/rigor/protection/diagnostic_oracle.rb +2 -2
- data/lib/rigor/protection/discovery_seed.rb +14 -12
- data/lib/rigor/protection/kill_signature.rb +1 -4
- data/lib/rigor/protection/measurement_integrity.rb +1 -3
- data/lib/rigor/protection/mutation_cache.rb +7 -11
- data/lib/rigor/protection/mutation_scanner.rb +12 -15
- data/lib/rigor/protection/mutator.rb +2 -1
- data/lib/rigor/protection/test_suite_oracle.rb +5 -5
- data/lib/rigor/rbs_extended/conformance_checker.rb +4 -3
- data/lib/rigor/rbs_extended/envelope_scanner.rb +4 -6
- data/lib/rigor/rbs_extended/reporter.rb +36 -10
- data/lib/rigor/rbs_extended.rb +88 -21
- data/lib/rigor/reflection/constant_ancestors.rb +97 -0
- data/lib/rigor/reflection/constant_path.rb +139 -0
- data/lib/rigor/reflection.rb +93 -110
- data/lib/rigor/runtime/jit.rb +6 -8
- data/lib/rigor/scope/discovery_index.rb +165 -2
- data/lib/rigor/scope.rb +1041 -32
- data/lib/rigor/sig_gen/alias_index.rb +289 -0
- data/lib/rigor/sig_gen/classification.rb +22 -5
- data/lib/rigor/sig_gen/declaration_equivalence.rb +127 -0
- data/lib/rigor/sig_gen/effect_annotation.rb +202 -0
- data/lib/rigor/sig_gen/generator.rb +673 -53
- data/lib/rigor/sig_gen/inline_declarations.rb +184 -0
- data/lib/rigor/sig_gen/layout_index.rb +3 -4
- data/lib/rigor/sig_gen/meta_class_shape.rb +3 -5
- data/lib/rigor/sig_gen/method_candidate.rb +47 -3
- data/lib/rigor/sig_gen/observation_collector.rb +18 -16
- data/lib/rigor/sig_gen/path_mapper.rb +4 -6
- data/lib/rigor/sig_gen/rbs_validity.rb +4 -4
- data/lib/rigor/sig_gen/renderer.rb +128 -14
- data/lib/rigor/sig_gen/skip_reason_catalog.rb +154 -0
- data/lib/rigor/sig_gen/superclass_spelling.rb +27 -0
- data/lib/rigor/sig_gen/type_elaborator.rb +1 -3
- data/lib/rigor/sig_gen/write_result.rb +19 -3
- data/lib/rigor/sig_gen/writer.rb +189 -41
- data/lib/rigor/sig_gen.rb +3 -0
- data/lib/rigor/signature_path_audit.rb +153 -6
- data/lib/rigor/source/literals.rb +0 -23
- data/lib/rigor/source/node_children.rb +0 -2
- data/lib/rigor/source/node_locator.rb +5 -11
- data/lib/rigor/source/node_walker.rb +0 -6
- data/lib/rigor/source/parameter_envelope.rb +72 -0
- data/lib/rigor/source.rb +1 -0
- data/lib/rigor/triage/catalogue.rb +1 -3
- data/lib/rigor/triage.rb +3 -5
- data/lib/rigor/type/accepts_result.rb +24 -6
- data/lib/rigor/type/combinator.rb +144 -5
- data/lib/rigor/type/data_class.rb +2 -2
- data/lib/rigor/type/data_instance.rb +4 -4
- data/lib/rigor/type/difference.rb +1 -0
- data/lib/rigor/type/float_range.rb +128 -0
- data/lib/rigor/type/hash_shape.rb +6 -6
- data/lib/rigor/type/integer_range.rb +13 -8
- data/lib/rigor/type/nominal.rb +8 -2
- data/lib/rigor/type/refined.rb +4 -3
- data/lib/rigor/type/struct_class.rb +3 -3
- data/lib/rigor/type/struct_instance.rb +4 -4
- data/lib/rigor/type.rb +1 -0
- data/lib/rigor/type_node/generic.rb +1 -1
- data/lib/rigor/type_node/range_literal.rb +25 -0
- data/lib/rigor/type_node/resolver_chain.rb +1 -1
- data/lib/rigor/type_node.rb +1 -0
- data/lib/rigor/version.rb +1 -1
- data/lib/rigor.rb +1 -0
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/analyzer.rb +0 -4
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/channel_discoverer.rb +0 -1
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/channel_index.rb +0 -2
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/effects.rb +1 -0
- data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb +10 -5
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/analyzer.rb +0 -4
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/mailer_discoverer.rb +3 -5
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/mailer_index.rb +1 -4
- data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer.rb +14 -4
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/analyzer.rb +32 -30
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_discoverer.rb +0 -1
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_index.rb +1 -3
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_scan.rb +96 -0
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/effects.rb +65 -8
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/erb_compiler.rb +270 -0
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/render_locals.rb +402 -0
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/view_assigns.rb +370 -0
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/view_units.rb +132 -0
- data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack.rb +264 -3
- data/plugins/rigor-actionpack/sig/action_controller.rbs +71 -0
- data/plugins/rigor-actionpack/sig/action_view.rbs +43 -0
- data/plugins/rigor-active-model-serializers/lib/rigor/plugin/active_model_serializers/serializer_discoverer.rb +220 -0
- data/plugins/rigor-active-model-serializers/lib/rigor/plugin/active_model_serializers/serializer_index.rb +56 -0
- data/plugins/rigor-active-model-serializers/lib/rigor/plugin/active_model_serializers.rb +263 -0
- data/plugins/rigor-active-model-serializers/lib/rigor-active-model-serializers.rb +7 -0
- data/plugins/rigor-active-model-serializers/sig/active_model_serializers.rbs +45 -0
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/analyzer.rb +0 -4
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/effects.rb +2 -1
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/job_discoverer.rb +0 -1
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/job_index.rb +0 -2
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob/recurring_scan.rb +1 -1
- data/plugins/rigor-activejob/lib/rigor/plugin/activejob.rb +10 -5
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/analyzer.rb +35 -3
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/effects.rb +72 -12
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_discoverer.rb +383 -7
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_index.rb +14 -6
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/schema_parser.rb +1 -2
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/structure_sql_parser.rb +1 -2
- data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord.rb +322 -41
- data/plugins/rigor-activerecord/sig/active_record/framework.rbs +123 -0
- data/plugins/rigor-activerecord/sig/active_record/relation.rbs +206 -31
- data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage.rb +26 -14
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext/effects.rb +9 -2
- data/plugins/rigor-activesupport-core-ext/lib/rigor/plugin/activesupport_core_ext.rb +9 -2
- data/plugins/rigor-activesupport-core-ext/sig/active_support/core_ext.rbs +290 -19
- data/plugins/rigor-devise/lib/rigor/plugin/devise.rb +1 -0
- data/plugins/rigor-dry-monads/lib/rigor/plugin/dry_monads.rb +3 -0
- data/plugins/rigor-dry-schema/lib/rigor/plugin/dry_schema/schema_scanner.rb +9 -7
- data/plugins/rigor-dry-schema/lib/rigor/plugin/dry_schema.rb +7 -3
- data/plugins/rigor-dry-struct/lib/rigor/plugin/dry_struct.rb +1 -0
- data/plugins/rigor-dry-types/lib/rigor/plugin/dry_types/alias_scanner.rb +8 -6
- data/plugins/rigor-dry-types/lib/rigor/plugin/dry_types.rb +11 -7
- data/plugins/rigor-dry-validation/lib/rigor/plugin/dry_validation/contract_scanner.rb +13 -11
- data/plugins/rigor-dry-validation/lib/rigor/plugin/dry_validation.rb +9 -4
- data/plugins/rigor-ethon/lib/rigor/plugin/ethon.rb +2 -0
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot/analyzer.rb +0 -5
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot/factory_discoverer.rb +0 -1
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot/factory_index.rb +0 -1
- data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot.rb +8 -1
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi/types.rb +1 -1
- data/plugins/rigor-ffi/lib/rigor/plugin/ffi.rb +36 -4
- data/plugins/rigor-ffi-rzmq/lib/rigor/plugin/ffi_rzmq.rb +1 -0
- data/plugins/rigor-grape/lib/rigor/plugin/grape.rb +141 -0
- data/plugins/rigor-grape/lib/rigor-grape.rb +6 -0
- data/plugins/rigor-grape/sig/grape.rbs +263 -0
- data/plugins/rigor-graphql/lib/rigor/plugin/graphql/type_scanner.rb +8 -6
- data/plugins/rigor-graphql/lib/rigor/plugin/graphql.rb +78 -5
- data/plugins/rigor-graphql/sig/graphql.rbs +485 -0
- data/plugins/rigor-hanami/lib/rigor/plugin/hanami.rb +1 -0
- data/plugins/rigor-mangrove/lib/rigor/plugin/mangrove.rb +2 -1
- data/plugins/rigor-minitest/lib/rigor/plugin/minitest/assertion_analyzer.rb +2 -3
- data/plugins/rigor-minitest/lib/rigor/plugin/minitest.rb +1 -0
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/analyzer.rb +0 -5
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/authorization_scan.rb +2 -2
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/policy_discoverer.rb +0 -1
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit/policy_index.rb +0 -1
- data/plugins/rigor-pundit/lib/rigor/plugin/pundit.rb +12 -7
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/analyzer.rb +0 -12
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/locale_index.rb +1 -3
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n/locale_loader.rb +0 -1
- data/plugins/rigor-rails-i18n/lib/rigor/plugin/rails_i18n.rb +36 -37
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/acronyms.rb +5 -5
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/analyzer.rb +0 -10
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/devise_routes.rb +5 -3
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/doorkeeper_routes.rb +3 -2
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/grape_api_discoverer.rb +2 -2
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/helper_discoverer.rb +2 -2
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/helper_table.rb +9 -10
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/routes_parser.rb +2 -3
- data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes.rb +10 -17
- data/plugins/rigor-railties/lib/rigor/plugin/railties.rb +1 -0
- data/plugins/rigor-rbnacl/lib/rigor/plugin/rbnacl.rb +13 -1
- data/plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline/same_line_annotations.rb +149 -0
- data/plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline.rb +324 -18
- data/plugins/rigor-rspec/lib/rigor/plugin/rspec/analyzer.rb +0 -3
- data/plugins/rigor-rspec/lib/rigor/plugin/rspec/let_scope_index.rb +0 -3
- data/plugins/rigor-rspec/lib/rigor/plugin/rspec/let_type_resolver.rb +1 -5
- data/plugins/rigor-rspec/lib/rigor/plugin/rspec/matcher_analyzer.rb +2 -3
- data/plugins/rigor-rspec/lib/rigor/plugin/rspec.rb +1 -0
- data/plugins/rigor-rspec-rails/lib/rigor/plugin/rspec_rails/have_http_status_analyzer.rb +0 -3
- data/plugins/rigor-rspec-rails/lib/rigor/plugin/rspec_rails.rb +1 -0
- data/plugins/rigor-sassc/lib/rigor/plugin/sassc.rb +1 -0
- data/plugins/rigor-shoulda-matchers/lib/rigor/plugin/shoulda_matchers/analyzer.rb +1 -9
- data/plugins/rigor-shoulda-matchers/lib/rigor/plugin/shoulda_matchers.rb +1 -0
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/analyzer.rb +0 -4
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/effects.rb +1 -1
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/schedule_scan.rb +2 -1
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/worker_discoverer.rb +0 -1
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/worker_index.rb +0 -2
- data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq.rb +10 -5
- data/plugins/rigor-sinatra/lib/rigor/plugin/sinatra.rb +1 -0
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/absurd_recognizer.rb +2 -5
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/assertion_recognizer.rb +1 -4
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/catalog.rb +3 -9
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/catalog_walker.rb +4 -4
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/sig_parser.rb +1 -2
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/sigil_detector.rb +3 -5
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/type_translator.rb +7 -5
- data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet.rb +51 -6
- data/plugins/rigor-sorbet/sig/sorbet.rbs +277 -0
- data/plugins/rigor-statesman/lib/rigor/plugin/statesman.rb +1 -0
- data/sig/rigor/analysis/baseline.rbs +69 -7
- data/sig/rigor/analysis/fact_store.rbs +1 -1
- data/sig/rigor/analysis/project_scan.rbs +74 -0
- data/sig/rigor/analysis/reachability/scan_cache.rbs +12 -0
- data/sig/rigor/cache.rbs +2 -3
- data/sig/rigor/effects/config_envelopes.rbs +100 -0
- data/sig/rigor/effects/effect_table.rbs +60 -0
- data/sig/rigor/effects/envelope.rbs +97 -0
- data/sig/rigor/effects/envelope_index.rbs +33 -0
- data/sig/rigor/effects/file_collection.rbs +81 -0
- data/sig/rigor/effects/label.rbs +26 -0
- data/sig/rigor/effects/label_set.rbs +46 -0
- data/sig/rigor/effects/method_key.rbs +24 -0
- data/sig/rigor/effects/origin.rbs +50 -0
- data/sig/rigor/effects/plugin_facts.rbs +141 -0
- data/sig/rigor/effects/registry.rbs +68 -0
- data/sig/rigor/effects/summary.rbs +50 -0
- data/sig/rigor/effects/taint_cause.rbs +12 -0
- data/sig/rigor/environment.rbs +17 -10
- data/sig/rigor/inference/optimistic_origin.rbs +10 -0
- data/sig/rigor/inference.rbs +9 -14
- data/sig/rigor/plugin/additional_initializer.rbs +36 -0
- data/sig/rigor/plugin/base.rbs +30 -7
- data/sig/rigor/plugin/effect_ancestry.rbs +27 -0
- data/sig/rigor/plugin/effect_attribution.rbs +66 -0
- data/sig/rigor/plugin/effect_edge.rbs +33 -0
- data/sig/rigor/plugin/effect_entry_points.rbs +25 -0
- data/sig/rigor/plugin/io_boundary.rbs +4 -0
- data/sig/rigor/plugin/loader.rbs +3 -3
- data/sig/rigor/plugin/manifest.rbs +51 -11
- data/sig/rigor/plugin/protocol_contract.rbs +68 -0
- data/sig/rigor/plugin/registry.rbs +62 -1
- data/sig/rigor/plugin.rbs +1 -1
- data/sig/rigor/rbs_extended.rbs +1 -1
- data/sig/rigor/reflection.rbs +9 -6
- data/sig/rigor/scope.rbs +148 -12
- data/sig/rigor/sig_gen/skip_reason_catalog.rbs +21 -0
- data/sig/rigor/source.rbs +4 -4
- data/sig/rigor/testing.rbs +10 -4
- data/sig/rigor/type.rbs +33 -1
- data/sig/rigor.rbs +39 -20
- data/skills/rigor-ask/SKILL.md +16 -11
- data/skills/rigor-baseline-reduce/SKILL.md +4 -6
- data/skills/rigor-ci-setup/SKILL.md +17 -21
- data/skills/rigor-doctor/SKILL.md +24 -22
- data/skills/rigor-doctor/references/01-checks.md +97 -33
- data/skills/rigor-editor-setup/SKILL.md +6 -4
- data/skills/rigor-mcp-setup/SKILL.md +5 -4
- data/skills/rigor-monkeypatch-resolve/SKILL.md +5 -3
- data/skills/rigor-next-steps/SKILL.md +4 -2
- data/skills/rigor-plugin-author/SKILL.md +19 -23
- data/skills/rigor-plugin-author/references/01-plan-and-scaffold.md +9 -8
- data/skills/rigor-plugin-author/references/02-walker-and-types.md +25 -27
- data/skills/rigor-plugin-author/references/03-test-and-ship.md +6 -8
- data/skills/rigor-plugin-review/SKILL.md +6 -4
- data/skills/rigor-plugin-review/references/01-best-practices-checklist.md +2 -1
- data/skills/rigor-plugin-tune/SKILL.md +4 -2
- data/skills/rigor-project-init/SKILL.md +15 -10
- data/skills/rigor-project-init/references/01-detect.md +13 -9
- data/skills/rigor-project-init/references/02-configure.md +43 -14
- data/skills/rigor-project-init/references/03-baseline-and-bugs.md +14 -14
- data/skills/rigor-project-init/references/04-sig-uplift.md +27 -14
- data/skills/rigor-project-init/references/06-agent-contract.md +67 -0
- data/skills/rigor-protection-uplift/SKILL.md +4 -6
- data/skills/rigor-rbs-setup/SKILL.md +4 -2
- data/skills/rigor-type-oracle/SKILL.md +226 -0
- data/skills/rigor-type-oracle/references/01-oracle-commands.md +265 -0
- data/skills/rigor-type-oracle/references/02-agents-md-fragment.md +52 -0
- data/skills/rigor-type-oracle/references/03-gap-protocol.md +125 -0
- data/skills/rigor-unused-adjudicate/SKILL.md +12 -7
- data/skills/rigor-upgrade/SKILL.md +13 -8
- metadata +133 -3
- data/lib/rigor/cli/probe_environment.rb +0 -85
- data/sig/rigor/inference/builtins/numeric_catalog.rbs +0 -3
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.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rigor contributors
|
|
@@ -306,11 +306,17 @@ files:
|
|
|
306
306
|
- data/builtins/ruby_core/string.yml
|
|
307
307
|
- data/builtins/ruby_core/struct.yml
|
|
308
308
|
- data/builtins/ruby_core/time.yml
|
|
309
|
+
- data/capability_roles/capability_roles.rbs
|
|
309
310
|
- data/core_overlay/csv.rbs
|
|
311
|
+
- data/core_overlay/enumerable.rbs
|
|
312
|
+
- data/core_overlay/enumerator.rbs
|
|
313
|
+
- data/core_overlay/hash_rbs3.rbs
|
|
310
314
|
- data/core_overlay/numeric.rbs
|
|
311
315
|
- data/core_overlay/pathname.rbs
|
|
316
|
+
- data/core_overlay/process.rbs
|
|
312
317
|
- data/core_overlay/psych.rbs
|
|
313
318
|
- data/core_overlay/resolv.rbs
|
|
319
|
+
- data/core_overlay/string_io.rbs
|
|
314
320
|
- data/core_overlay/string_scanner.rbs
|
|
315
321
|
- data/effects/core.yml
|
|
316
322
|
- data/effects/registry.yml
|
|
@@ -387,6 +393,7 @@ files:
|
|
|
387
393
|
- docs/manual/plugins/rigor-actioncable.md
|
|
388
394
|
- docs/manual/plugins/rigor-actionmailer.md
|
|
389
395
|
- docs/manual/plugins/rigor-actionpack.md
|
|
396
|
+
- docs/manual/plugins/rigor-active-model-serializers.md
|
|
390
397
|
- docs/manual/plugins/rigor-activejob.md
|
|
391
398
|
- docs/manual/plugins/rigor-activerecord.md
|
|
392
399
|
- docs/manual/plugins/rigor-activestorage.md
|
|
@@ -397,6 +404,7 @@ files:
|
|
|
397
404
|
- docs/manual/plugins/rigor-dry-types.md
|
|
398
405
|
- docs/manual/plugins/rigor-dry-validation.md
|
|
399
406
|
- docs/manual/plugins/rigor-factorybot.md
|
|
407
|
+
- docs/manual/plugins/rigor-grape.md
|
|
400
408
|
- docs/manual/plugins/rigor-graphql.md
|
|
401
409
|
- docs/manual/plugins/rigor-hanami.md
|
|
402
410
|
- docs/manual/plugins/rigor-mangrove.md
|
|
@@ -426,6 +434,7 @@ files:
|
|
|
426
434
|
- lib/rigor/analysis/check_rules/duplicate_hash_key_collector.rb
|
|
427
435
|
- lib/rigor/analysis/check_rules/inferred_param_guard.rb
|
|
428
436
|
- lib/rigor/analysis/check_rules/ivar_write_collector.rb
|
|
437
|
+
- lib/rigor/analysis/check_rules/lexical_method_sites.rb
|
|
429
438
|
- lib/rigor/analysis/check_rules/main_pass_collector.rb
|
|
430
439
|
- lib/rigor/analysis/check_rules/published_constant_guard.rb
|
|
431
440
|
- lib/rigor/analysis/check_rules/return_in_ensure_collector.rb
|
|
@@ -433,6 +442,8 @@ files:
|
|
|
433
442
|
- lib/rigor/analysis/check_rules/rule_walk.rb
|
|
434
443
|
- lib/rigor/analysis/check_rules/self_closedness_scanner.rb
|
|
435
444
|
- lib/rigor/analysis/check_rules/shadowed_rescue_collector.rb
|
|
445
|
+
- lib/rigor/analysis/check_rules/source_arity.rb
|
|
446
|
+
- lib/rigor/analysis/check_rules/special_global_setters.rb
|
|
436
447
|
- lib/rigor/analysis/check_rules/unreachable_clause_collector.rb
|
|
437
448
|
- lib/rigor/analysis/check_rules/void_value_use_collector.rb
|
|
438
449
|
- lib/rigor/analysis/crash_signature.rb
|
|
@@ -476,6 +487,10 @@ files:
|
|
|
476
487
|
- lib/rigor/analysis/runner/run_snapshots.rb
|
|
477
488
|
- lib/rigor/analysis/self_call_resolution_recorder.rb
|
|
478
489
|
- lib/rigor/analysis/severity_stamp.rb
|
|
490
|
+
- lib/rigor/analysis/template_unit_collector.rb
|
|
491
|
+
- lib/rigor/analysis/template_unit_paths.rb
|
|
492
|
+
- lib/rigor/analysis/template_unit_positions.rb
|
|
493
|
+
- lib/rigor/analysis/template_units.rb
|
|
479
494
|
- lib/rigor/analysis/worker_session.rb
|
|
480
495
|
- lib/rigor/ast.rb
|
|
481
496
|
- lib/rigor/ast/type_node.rb
|
|
@@ -537,7 +552,6 @@ files:
|
|
|
537
552
|
- lib/rigor/cli/plugins_command.rb
|
|
538
553
|
- lib/rigor/cli/plugins_renderer.rb
|
|
539
554
|
- lib/rigor/cli/prism_colorizer.rb
|
|
540
|
-
- lib/rigor/cli/probe_environment.rb
|
|
541
555
|
- lib/rigor/cli/protection_fork_scan.rb
|
|
542
556
|
- lib/rigor/cli/protection_renderer.rb
|
|
543
557
|
- lib/rigor/cli/protection_report.rb
|
|
@@ -553,6 +567,7 @@ files:
|
|
|
553
567
|
- lib/rigor/cli/triage_renderer.rb
|
|
554
568
|
- lib/rigor/cli/type_of_command.rb
|
|
555
569
|
- lib/rigor/cli/type_of_renderer.rb
|
|
570
|
+
- lib/rigor/cli/type_of_template_probe.rb
|
|
556
571
|
- lib/rigor/cli/type_scan_command.rb
|
|
557
572
|
- lib/rigor/cli/type_scan_renderer.rb
|
|
558
573
|
- lib/rigor/cli/type_scan_report.rb
|
|
@@ -564,10 +579,13 @@ files:
|
|
|
564
579
|
- lib/rigor/configuration/severity_profile.rb
|
|
565
580
|
- lib/rigor/configuration_error.rb
|
|
566
581
|
- lib/rigor/effects.rb
|
|
582
|
+
- lib/rigor/effects/ancestry_recorder.rb
|
|
567
583
|
- lib/rigor/effects/attribution.rb
|
|
584
|
+
- lib/rigor/effects/callee_rule.rb
|
|
568
585
|
- lib/rigor/effects/catalog.rb
|
|
569
586
|
- lib/rigor/effects/collector.rb
|
|
570
587
|
- lib/rigor/effects/config_envelopes.rb
|
|
588
|
+
- lib/rigor/effects/definition_context.rb
|
|
571
589
|
- lib/rigor/effects/definition_lines.rb
|
|
572
590
|
- lib/rigor/effects/discharge.rb
|
|
573
591
|
- lib/rigor/effects/effect_table.rb
|
|
@@ -601,6 +619,7 @@ files:
|
|
|
601
619
|
- lib/rigor/effects/unit_scan.rb
|
|
602
620
|
- lib/rigor/effects/unknown_label_check.rb
|
|
603
621
|
- lib/rigor/effects/unknown_label_report.rb
|
|
622
|
+
- lib/rigor/effects/visibility.rb
|
|
604
623
|
- lib/rigor/environment.rb
|
|
605
624
|
- lib/rigor/environment/bundle_sig_discovery.rb
|
|
606
625
|
- lib/rigor/environment/class_registry.rb
|
|
@@ -608,7 +627,10 @@ files:
|
|
|
608
627
|
- lib/rigor/environment/default_libraries.rb
|
|
609
628
|
- lib/rigor/environment/failure_slot.rb
|
|
610
629
|
- lib/rigor/environment/hkt_registry_holder.rb
|
|
630
|
+
- lib/rigor/environment/installed_gem_set.rb
|
|
611
631
|
- lib/rigor/environment/lockfile_resolver.rb
|
|
632
|
+
- lib/rigor/environment/member_consistency.rb
|
|
633
|
+
- lib/rigor/environment/member_consistency/comparator.rb
|
|
612
634
|
- lib/rigor/environment/missing_gem_constant_index.rb
|
|
613
635
|
- lib/rigor/environment/rbs_collection_discovery.rb
|
|
614
636
|
- lib/rigor/environment/rbs_coverage_report.rb
|
|
@@ -622,9 +644,13 @@ files:
|
|
|
622
644
|
- lib/rigor/flow_contribution/fact.rb
|
|
623
645
|
- lib/rigor/flow_contribution/merge_result.rb
|
|
624
646
|
- lib/rigor/flow_contribution/merger.rb
|
|
647
|
+
- lib/rigor/hashing/xxh3.rb
|
|
625
648
|
- lib/rigor/inference/acceptance.rb
|
|
626
649
|
- lib/rigor/inference/anonymous_meta_class.rb
|
|
650
|
+
- lib/rigor/inference/block_auto_splat.rb
|
|
651
|
+
- lib/rigor/inference/block_call_timing.rb
|
|
627
652
|
- lib/rigor/inference/block_parameter_binder.rb
|
|
653
|
+
- lib/rigor/inference/block_repetition.rb
|
|
628
654
|
- lib/rigor/inference/body_fixpoint.rb
|
|
629
655
|
- lib/rigor/inference/budget_trace.rb
|
|
630
656
|
- lib/rigor/inference/builtins/array_catalog.rb
|
|
@@ -654,12 +680,20 @@ files:
|
|
|
654
680
|
- lib/rigor/inference/def_handle.rb
|
|
655
681
|
- lib/rigor/inference/def_node_resolver.rb
|
|
656
682
|
- lib/rigor/inference/def_return_typer.rb
|
|
683
|
+
- lib/rigor/inference/define_method_block_self.rb
|
|
657
684
|
- lib/rigor/inference/dynamic_origin.rb
|
|
685
|
+
- lib/rigor/inference/element_read_widening.rb
|
|
686
|
+
- lib/rigor/inference/error_info.rb
|
|
658
687
|
- lib/rigor/inference/expression_typer.rb
|
|
688
|
+
- lib/rigor/inference/external_ancestor_resolution.rb
|
|
659
689
|
- lib/rigor/inference/fallback.rb
|
|
660
690
|
- lib/rigor/inference/fallback_tracer.rb
|
|
661
691
|
- lib/rigor/inference/flow_tracer.rb
|
|
662
692
|
- lib/rigor/inference/fork_map.rb
|
|
693
|
+
- lib/rigor/inference/fresh_frame_blocks.rb
|
|
694
|
+
- lib/rigor/inference/global_write_census.rb
|
|
695
|
+
- lib/rigor/inference/guard_rebinding.rb
|
|
696
|
+
- lib/rigor/inference/hash_lookup_mutation.rb
|
|
663
697
|
- lib/rigor/inference/hkt_body.rb
|
|
664
698
|
- lib/rigor/inference/hkt_body_parser.rb
|
|
665
699
|
- lib/rigor/inference/hkt_reducer.rb
|
|
@@ -667,27 +701,45 @@ files:
|
|
|
667
701
|
- lib/rigor/inference/hkt_sugar_translator.rb
|
|
668
702
|
- lib/rigor/inference/index_write_widening.rb
|
|
669
703
|
- lib/rigor/inference/indexed_narrowing.rb
|
|
704
|
+
- lib/rigor/inference/jump_targets.rb
|
|
705
|
+
- lib/rigor/inference/last_line.rb
|
|
706
|
+
- lib/rigor/inference/last_line/implicit_self.rb
|
|
707
|
+
- lib/rigor/inference/last_line/self_evidence.rb
|
|
708
|
+
- lib/rigor/inference/last_status.rb
|
|
670
709
|
- lib/rigor/inference/macro_block_self_type.rb
|
|
710
|
+
- lib/rigor/inference/match_rebinding.rb
|
|
711
|
+
- lib/rigor/inference/match_rebinding/calls.rb
|
|
712
|
+
- lib/rigor/inference/match_rebinding/frame.rb
|
|
713
|
+
- lib/rigor/inference/match_rebinding/operands.rb
|
|
714
|
+
- lib/rigor/inference/match_rebinding/self_calls.rb
|
|
671
715
|
- lib/rigor/inference/method_dispatcher.rb
|
|
716
|
+
- lib/rigor/inference/method_dispatcher/alias_strict_nominals.rb
|
|
672
717
|
- lib/rigor/inference/method_dispatcher/array_to_h_folding.rb
|
|
673
718
|
- lib/rigor/inference/method_dispatcher/block_folding.rb
|
|
674
719
|
- lib/rigor/inference/method_dispatcher/call_context.rb
|
|
675
720
|
- lib/rigor/inference/method_dispatcher/cgi_folding.rb
|
|
676
721
|
- lib/rigor/inference/method_dispatcher/constant_folding.rb
|
|
677
722
|
- lib/rigor/inference/method_dispatcher/data_folding.rb
|
|
723
|
+
- lib/rigor/inference/method_dispatcher/facet_distribution.rb
|
|
678
724
|
- lib/rigor/inference/method_dispatcher/file_folding.rb
|
|
725
|
+
- lib/rigor/inference/method_dispatcher/hash_transform_keys_folding.rb
|
|
679
726
|
- lib/rigor/inference/method_dispatcher/iterator_dispatch.rb
|
|
680
727
|
- lib/rigor/inference/method_dispatcher/json_folding.rb
|
|
681
728
|
- lib/rigor/inference/method_dispatcher/kernel_dispatch.rb
|
|
682
729
|
- lib/rigor/inference/method_dispatcher/literal_string_folding.rb
|
|
730
|
+
- lib/rigor/inference/method_dispatcher/match_data_folding.rb
|
|
683
731
|
- lib/rigor/inference/method_dispatcher/math_folding.rb
|
|
684
732
|
- lib/rigor/inference/method_dispatcher/member_shape_projection.rb
|
|
685
733
|
- lib/rigor/inference/method_dispatcher/method_folding.rb
|
|
686
734
|
- lib/rigor/inference/method_dispatcher/overload_selector.rb
|
|
735
|
+
- lib/rigor/inference/method_dispatcher/process_folding.rb
|
|
736
|
+
- lib/rigor/inference/method_dispatcher/proven_overload.rb
|
|
737
|
+
- lib/rigor/inference/method_dispatcher/random_folding.rb
|
|
687
738
|
- lib/rigor/inference/method_dispatcher/rbs_dispatch.rb
|
|
688
739
|
- lib/rigor/inference/method_dispatcher/receiver_affinity.rb
|
|
689
740
|
- lib/rigor/inference/method_dispatcher/reduce_folding.rb
|
|
690
741
|
- lib/rigor/inference/method_dispatcher/regexp_folding.rb
|
|
742
|
+
- lib/rigor/inference/method_dispatcher/self_substitute.rb
|
|
691
743
|
- lib/rigor/inference/method_dispatcher/set_folding.rb
|
|
692
744
|
- lib/rigor/inference/method_dispatcher/shape_dispatch.rb
|
|
693
745
|
- lib/rigor/inference/method_dispatcher/shellwords_folding.rb
|
|
@@ -700,25 +752,39 @@ files:
|
|
|
700
752
|
- lib/rigor/inference/method_dispatcher/uri_folding.rb
|
|
701
753
|
- lib/rigor/inference/method_parameter_binder.rb
|
|
702
754
|
- lib/rigor/inference/multi_target_binder.rb
|
|
755
|
+
- lib/rigor/inference/mutation_rejoin.rb
|
|
703
756
|
- lib/rigor/inference/mutation_widening.rb
|
|
704
757
|
- lib/rigor/inference/narrowing.rb
|
|
758
|
+
- lib/rigor/inference/operand_effects.rb
|
|
759
|
+
- lib/rigor/inference/operand_walk.rb
|
|
705
760
|
- lib/rigor/inference/optimistic_origin.rb
|
|
706
761
|
- lib/rigor/inference/origin_lookup.rb
|
|
707
762
|
- lib/rigor/inference/parameter_inference_collector.rb
|
|
708
763
|
- lib/rigor/inference/pre_eval_constants.rb
|
|
709
764
|
- lib/rigor/inference/precision_scanner.rb
|
|
765
|
+
- lib/rigor/inference/project_method_ownership.rb
|
|
710
766
|
- lib/rigor/inference/project_patched_methods.rb
|
|
711
767
|
- lib/rigor/inference/project_patched_scanner.rb
|
|
712
768
|
- lib/rigor/inference/protection_scanner.rb
|
|
769
|
+
- lib/rigor/inference/range_constant.rb
|
|
713
770
|
- lib/rigor/inference/rbs_type_translator.rb
|
|
714
771
|
- lib/rigor/inference/receiver_alias.rb
|
|
772
|
+
- lib/rigor/inference/receiver_blind_block.rb
|
|
773
|
+
- lib/rigor/inference/refinement_mutation.rb
|
|
774
|
+
- lib/rigor/inference/repeated_or_writes.rb
|
|
775
|
+
- lib/rigor/inference/return_barrier.rb
|
|
776
|
+
- lib/rigor/inference/rewrite_mutation.rb
|
|
715
777
|
- lib/rigor/inference/scope_indexer.rb
|
|
716
778
|
- lib/rigor/inference/singleton_object_constant.rb
|
|
717
779
|
- lib/rigor/inference/statement_evaluator.rb
|
|
780
|
+
- lib/rigor/inference/stored_block_call.rb
|
|
781
|
+
- lib/rigor/inference/string_mutation.rb
|
|
718
782
|
- lib/rigor/inference/struct_fold_safety.rb
|
|
719
783
|
- lib/rigor/inference/synthetic_method.rb
|
|
720
784
|
- lib/rigor/inference/synthetic_method_index.rb
|
|
721
785
|
- lib/rigor/inference/synthetic_method_scanner.rb
|
|
786
|
+
- lib/rigor/inference/unknown_store_widening.rb
|
|
787
|
+
- lib/rigor/inference/unthreaded_rebinds.rb
|
|
722
788
|
- lib/rigor/inference/version_guard.rb
|
|
723
789
|
- lib/rigor/inference/void_origin.rb
|
|
724
790
|
- lib/rigor/inference/void_tail_summary.rb
|
|
@@ -750,6 +816,8 @@ files:
|
|
|
750
816
|
- lib/rigor/plugin/base.rb
|
|
751
817
|
- lib/rigor/plugin/blueprint.rb
|
|
752
818
|
- lib/rigor/plugin/box.rb
|
|
819
|
+
- lib/rigor/plugin/box_probe.rb
|
|
820
|
+
- lib/rigor/plugin/bundled_catalog.rb
|
|
753
821
|
- lib/rigor/plugin/effect_ancestry.rb
|
|
754
822
|
- lib/rigor/plugin/effect_attribution.rb
|
|
755
823
|
- lib/rigor/plugin/effect_edge.rb
|
|
@@ -773,8 +841,11 @@ files:
|
|
|
773
841
|
- lib/rigor/plugin/registry.rb
|
|
774
842
|
- lib/rigor/plugin/services.rb
|
|
775
843
|
- lib/rigor/plugin/source_rbs_synthesis_reporter.rb
|
|
844
|
+
- lib/rigor/plugin/template_unit.rb
|
|
776
845
|
- lib/rigor/plugin/trust_policy.rb
|
|
777
846
|
- lib/rigor/plugin/type_node_resolver.rb
|
|
847
|
+
- lib/rigor/plugin_gap_advisory.rb
|
|
848
|
+
- lib/rigor/project_environment.rb
|
|
778
849
|
- lib/rigor/protection/analysis_guard.rb
|
|
779
850
|
- lib/rigor/protection/closure_kill_oracle.rb
|
|
780
851
|
- lib/rigor/protection/dependency_closure.rb
|
|
@@ -792,12 +863,18 @@ files:
|
|
|
792
863
|
- lib/rigor/rbs_extended/hkt_directives.rb
|
|
793
864
|
- lib/rigor/rbs_extended/reporter.rb
|
|
794
865
|
- lib/rigor/reflection.rb
|
|
866
|
+
- lib/rigor/reflection/constant_ancestors.rb
|
|
867
|
+
- lib/rigor/reflection/constant_path.rb
|
|
795
868
|
- lib/rigor/runtime/jit.rb
|
|
796
869
|
- lib/rigor/scope.rb
|
|
797
870
|
- lib/rigor/scope/discovery_index.rb
|
|
798
871
|
- lib/rigor/sig_gen.rb
|
|
872
|
+
- lib/rigor/sig_gen/alias_index.rb
|
|
799
873
|
- lib/rigor/sig_gen/classification.rb
|
|
874
|
+
- lib/rigor/sig_gen/declaration_equivalence.rb
|
|
875
|
+
- lib/rigor/sig_gen/effect_annotation.rb
|
|
800
876
|
- lib/rigor/sig_gen/generator.rb
|
|
877
|
+
- lib/rigor/sig_gen/inline_declarations.rb
|
|
801
878
|
- lib/rigor/sig_gen/layout_index.rb
|
|
802
879
|
- lib/rigor/sig_gen/meta_class_shape.rb
|
|
803
880
|
- lib/rigor/sig_gen/method_candidate.rb
|
|
@@ -806,6 +883,8 @@ files:
|
|
|
806
883
|
- lib/rigor/sig_gen/path_mapper.rb
|
|
807
884
|
- lib/rigor/sig_gen/rbs_validity.rb
|
|
808
885
|
- lib/rigor/sig_gen/renderer.rb
|
|
886
|
+
- lib/rigor/sig_gen/skip_reason_catalog.rb
|
|
887
|
+
- lib/rigor/sig_gen/superclass_spelling.rb
|
|
809
888
|
- lib/rigor/sig_gen/type_elaborator.rb
|
|
810
889
|
- lib/rigor/sig_gen/write_result.rb
|
|
811
890
|
- lib/rigor/sig_gen/writer.rb
|
|
@@ -816,6 +895,7 @@ files:
|
|
|
816
895
|
- lib/rigor/source/node_children.rb
|
|
817
896
|
- lib/rigor/source/node_locator.rb
|
|
818
897
|
- lib/rigor/source/node_walker.rb
|
|
898
|
+
- lib/rigor/source/parameter_envelope.rb
|
|
819
899
|
- lib/rigor/testing.rb
|
|
820
900
|
- lib/rigor/triage.rb
|
|
821
901
|
- lib/rigor/triage/catalogue.rb
|
|
@@ -834,6 +914,7 @@ files:
|
|
|
834
914
|
- lib/rigor/type/data_instance.rb
|
|
835
915
|
- lib/rigor/type/difference.rb
|
|
836
916
|
- lib/rigor/type/dynamic.rb
|
|
917
|
+
- lib/rigor/type/float_range.rb
|
|
837
918
|
- lib/rigor/type/hash_shape.rb
|
|
838
919
|
- lib/rigor/type/integer_range.rb
|
|
839
920
|
- lib/rigor/type/intersection.rb
|
|
@@ -854,6 +935,7 @@ files:
|
|
|
854
935
|
- lib/rigor/type_node/indexed_access.rb
|
|
855
936
|
- lib/rigor/type_node/integer_literal.rb
|
|
856
937
|
- lib/rigor/type_node/name_scope.rb
|
|
938
|
+
- lib/rigor/type_node/range_literal.rb
|
|
857
939
|
- lib/rigor/type_node/resolver_chain.rb
|
|
858
940
|
- lib/rigor/type_node/string_literal.rb
|
|
859
941
|
- lib/rigor/type_node/symbol_literal.rb
|
|
@@ -878,7 +960,19 @@ files:
|
|
|
878
960
|
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/analyzer.rb
|
|
879
961
|
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_discoverer.rb
|
|
880
962
|
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_index.rb
|
|
963
|
+
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_scan.rb
|
|
881
964
|
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/effects.rb
|
|
965
|
+
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/erb_compiler.rb
|
|
966
|
+
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/render_locals.rb
|
|
967
|
+
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/view_assigns.rb
|
|
968
|
+
- plugins/rigor-actionpack/lib/rigor/plugin/actionpack/view_units.rb
|
|
969
|
+
- plugins/rigor-actionpack/sig/action_controller.rbs
|
|
970
|
+
- plugins/rigor-actionpack/sig/action_view.rbs
|
|
971
|
+
- plugins/rigor-active-model-serializers/lib/rigor-active-model-serializers.rb
|
|
972
|
+
- plugins/rigor-active-model-serializers/lib/rigor/plugin/active_model_serializers.rb
|
|
973
|
+
- plugins/rigor-active-model-serializers/lib/rigor/plugin/active_model_serializers/serializer_discoverer.rb
|
|
974
|
+
- plugins/rigor-active-model-serializers/lib/rigor/plugin/active_model_serializers/serializer_index.rb
|
|
975
|
+
- plugins/rigor-active-model-serializers/sig/active_model_serializers.rbs
|
|
882
976
|
- plugins/rigor-activejob/lib/rigor-activejob.rb
|
|
883
977
|
- plugins/rigor-activejob/lib/rigor/plugin/activejob.rb
|
|
884
978
|
- plugins/rigor-activejob/lib/rigor/plugin/activejob/analyzer.rb
|
|
@@ -895,6 +989,7 @@ files:
|
|
|
895
989
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/schema_parser.rb
|
|
896
990
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/schema_table.rb
|
|
897
991
|
- plugins/rigor-activerecord/lib/rigor/plugin/activerecord/structure_sql_parser.rb
|
|
992
|
+
- plugins/rigor-activerecord/sig/active_record/framework.rbs
|
|
898
993
|
- plugins/rigor-activerecord/sig/active_record/relation.rbs
|
|
899
994
|
- plugins/rigor-activestorage/lib/rigor-activestorage.rb
|
|
900
995
|
- plugins/rigor-activestorage/lib/rigor/plugin/activestorage.rb
|
|
@@ -944,9 +1039,13 @@ files:
|
|
|
944
1039
|
- plugins/rigor-ffi/lib/rigor/plugin/ffi/target_detector.rb
|
|
945
1040
|
- plugins/rigor-ffi/lib/rigor/plugin/ffi/types.rb
|
|
946
1041
|
- plugins/rigor-ffi/sig/ffi.rbs
|
|
1042
|
+
- plugins/rigor-grape/lib/rigor-grape.rb
|
|
1043
|
+
- plugins/rigor-grape/lib/rigor/plugin/grape.rb
|
|
1044
|
+
- plugins/rigor-grape/sig/grape.rbs
|
|
947
1045
|
- plugins/rigor-graphql/lib/rigor-graphql.rb
|
|
948
1046
|
- plugins/rigor-graphql/lib/rigor/plugin/graphql.rb
|
|
949
1047
|
- plugins/rigor-graphql/lib/rigor/plugin/graphql/type_scanner.rb
|
|
1048
|
+
- plugins/rigor-graphql/sig/graphql.rbs
|
|
950
1049
|
- plugins/rigor-hanami/lib/rigor-hanami.rb
|
|
951
1050
|
- plugins/rigor-hanami/lib/rigor/plugin/hanami.rb
|
|
952
1051
|
- plugins/rigor-hanami/lib/rigor/plugin/hanami/action_checker.rb
|
|
@@ -987,6 +1086,7 @@ files:
|
|
|
987
1086
|
- plugins/rigor-rbnacl/sig/rbnacl.rbs
|
|
988
1087
|
- plugins/rigor-rbs-inline/lib/rigor-rbs-inline.rb
|
|
989
1088
|
- plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline.rb
|
|
1089
|
+
- plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline/same_line_annotations.rb
|
|
990
1090
|
- plugins/rigor-rspec-rails/lib/rigor-rspec-rails.rb
|
|
991
1091
|
- plugins/rigor-rspec-rails/lib/rigor/plugin/rspec_rails.rb
|
|
992
1092
|
- plugins/rigor-rspec-rails/lib/rigor/plugin/rspec_rails/have_http_status_analyzer.rb
|
|
@@ -1023,6 +1123,7 @@ files:
|
|
|
1023
1123
|
- plugins/rigor-sorbet/lib/rigor/plugin/sorbet/sig_parser.rb
|
|
1024
1124
|
- plugins/rigor-sorbet/lib/rigor/plugin/sorbet/sigil_detector.rb
|
|
1025
1125
|
- plugins/rigor-sorbet/lib/rigor/plugin/sorbet/type_translator.rb
|
|
1126
|
+
- plugins/rigor-sorbet/sig/sorbet.rbs
|
|
1026
1127
|
- plugins/rigor-statesman/lib/rigor-statesman.rb
|
|
1027
1128
|
- plugins/rigor-statesman/lib/rigor/plugin/statesman.rb
|
|
1028
1129
|
- plugins/rigor-typescript-utility-types/lib/rigor-typescript-utility-types.rb
|
|
@@ -1035,27 +1136,48 @@ files:
|
|
|
1035
1136
|
- sig/rigor/analysis/dependency_source_inference/gem_resolver.rbs
|
|
1036
1137
|
- sig/rigor/analysis/dependency_source_inference/index.rbs
|
|
1037
1138
|
- sig/rigor/analysis/fact_store.rbs
|
|
1139
|
+
- sig/rigor/analysis/project_scan.rbs
|
|
1140
|
+
- sig/rigor/analysis/reachability/scan_cache.rbs
|
|
1038
1141
|
- sig/rigor/ast.rbs
|
|
1039
1142
|
- sig/rigor/cache.rbs
|
|
1040
1143
|
- sig/rigor/cli/diff_command.rbs
|
|
1041
1144
|
- sig/rigor/cli/explain_command.rbs
|
|
1042
1145
|
- sig/rigor/cli/sig_gen_command.rbs
|
|
1043
1146
|
- sig/rigor/cli/type_scan_command.rbs
|
|
1147
|
+
- sig/rigor/effects/config_envelopes.rbs
|
|
1148
|
+
- sig/rigor/effects/effect_table.rbs
|
|
1149
|
+
- sig/rigor/effects/envelope.rbs
|
|
1150
|
+
- sig/rigor/effects/envelope_index.rbs
|
|
1151
|
+
- sig/rigor/effects/file_collection.rbs
|
|
1152
|
+
- sig/rigor/effects/label.rbs
|
|
1153
|
+
- sig/rigor/effects/label_set.rbs
|
|
1154
|
+
- sig/rigor/effects/method_key.rbs
|
|
1155
|
+
- sig/rigor/effects/origin.rbs
|
|
1156
|
+
- sig/rigor/effects/plugin_facts.rbs
|
|
1157
|
+
- sig/rigor/effects/registry.rbs
|
|
1158
|
+
- sig/rigor/effects/summary.rbs
|
|
1159
|
+
- sig/rigor/effects/taint_cause.rbs
|
|
1044
1160
|
- sig/rigor/environment.rbs
|
|
1045
1161
|
- sig/rigor/inference.rbs
|
|
1046
1162
|
- sig/rigor/inference/builtins.rbs
|
|
1047
1163
|
- sig/rigor/inference/builtins/method_catalog.rbs
|
|
1048
|
-
- sig/rigor/inference/
|
|
1164
|
+
- sig/rigor/inference/optimistic_origin.rbs
|
|
1049
1165
|
- sig/rigor/inference/void_origin.rbs
|
|
1050
1166
|
- sig/rigor/plugin.rbs
|
|
1051
1167
|
- sig/rigor/plugin/access_denied_error.rbs
|
|
1168
|
+
- sig/rigor/plugin/additional_initializer.rbs
|
|
1052
1169
|
- sig/rigor/plugin/base.rbs
|
|
1053
1170
|
- sig/rigor/plugin/blueprint.rbs
|
|
1171
|
+
- sig/rigor/plugin/effect_ancestry.rbs
|
|
1172
|
+
- sig/rigor/plugin/effect_attribution.rbs
|
|
1173
|
+
- sig/rigor/plugin/effect_edge.rbs
|
|
1174
|
+
- sig/rigor/plugin/effect_entry_points.rbs
|
|
1054
1175
|
- sig/rigor/plugin/fact_store.rbs
|
|
1055
1176
|
- sig/rigor/plugin/io_boundary.rbs
|
|
1056
1177
|
- sig/rigor/plugin/load_error.rbs
|
|
1057
1178
|
- sig/rigor/plugin/loader.rbs
|
|
1058
1179
|
- sig/rigor/plugin/manifest.rbs
|
|
1180
|
+
- sig/rigor/plugin/protocol_contract.rbs
|
|
1059
1181
|
- sig/rigor/plugin/registry.rbs
|
|
1060
1182
|
- sig/rigor/plugin/services.rbs
|
|
1061
1183
|
- sig/rigor/plugin/trust_policy.rbs
|
|
@@ -1063,6 +1185,7 @@ files:
|
|
|
1063
1185
|
- sig/rigor/rbs_extended.rbs
|
|
1064
1186
|
- sig/rigor/reflection.rbs
|
|
1065
1187
|
- sig/rigor/scope.rbs
|
|
1188
|
+
- sig/rigor/sig_gen/skip_reason_catalog.rbs
|
|
1066
1189
|
- sig/rigor/source.rbs
|
|
1067
1190
|
- sig/rigor/testing.rbs
|
|
1068
1191
|
- sig/rigor/trinary.rbs
|
|
@@ -1091,8 +1214,13 @@ files:
|
|
|
1091
1214
|
- skills/rigor-project-init/references/03-baseline-and-bugs.md
|
|
1092
1215
|
- skills/rigor-project-init/references/04-sig-uplift.md
|
|
1093
1216
|
- skills/rigor-project-init/references/05-jit-performance.md
|
|
1217
|
+
- skills/rigor-project-init/references/06-agent-contract.md
|
|
1094
1218
|
- skills/rigor-protection-uplift/SKILL.md
|
|
1095
1219
|
- skills/rigor-rbs-setup/SKILL.md
|
|
1220
|
+
- skills/rigor-type-oracle/SKILL.md
|
|
1221
|
+
- skills/rigor-type-oracle/references/01-oracle-commands.md
|
|
1222
|
+
- skills/rigor-type-oracle/references/02-agents-md-fragment.md
|
|
1223
|
+
- skills/rigor-type-oracle/references/03-gap-protocol.md
|
|
1096
1224
|
- skills/rigor-unused-adjudicate/SKILL.md
|
|
1097
1225
|
- skills/rigor-upgrade/SKILL.md
|
|
1098
1226
|
homepage: https://github.com/rigortype/rigor
|
|
@@ -1118,6 +1246,7 @@ require_paths:
|
|
|
1118
1246
|
- plugins/rigor-actioncable/lib
|
|
1119
1247
|
- plugins/rigor-actionmailer/lib
|
|
1120
1248
|
- plugins/rigor-actionpack/lib
|
|
1249
|
+
- plugins/rigor-active-model-serializers/lib
|
|
1121
1250
|
- plugins/rigor-activejob/lib
|
|
1122
1251
|
- plugins/rigor-activerecord/lib
|
|
1123
1252
|
- plugins/rigor-activestorage/lib
|
|
@@ -1132,6 +1261,7 @@ require_paths:
|
|
|
1132
1261
|
- plugins/rigor-factorybot/lib
|
|
1133
1262
|
- plugins/rigor-ffi/lib
|
|
1134
1263
|
- plugins/rigor-ffi-rzmq/lib
|
|
1264
|
+
- plugins/rigor-grape/lib
|
|
1135
1265
|
- plugins/rigor-graphql/lib
|
|
1136
1266
|
- plugins/rigor-hanami/lib
|
|
1137
1267
|
- plugins/rigor-mangrove/lib
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative "../environment"
|
|
4
|
-
require_relative "../plugin"
|
|
5
|
-
require_relative "../plugin/loader"
|
|
6
|
-
require_relative "../plugin/services"
|
|
7
|
-
require_relative "../reflection"
|
|
8
|
-
require_relative "../type/combinator"
|
|
9
|
-
|
|
10
|
-
module Rigor
|
|
11
|
-
class CLI
|
|
12
|
-
# Shared construction of the analysis-observing environment for the single-shot probe commands
|
|
13
|
-
# (`type-of`, `type-scan`, `trace`, `annotate`). Each of these answers "what does the engine infer here?"
|
|
14
|
-
# for a hand-picked file or position, so the environment they type against MUST match the one `rigor check`
|
|
15
|
-
# analyses with — otherwise a probe reports a type the real run never computes.
|
|
16
|
-
#
|
|
17
|
-
# The gap this closes: the probes historically built their environment with
|
|
18
|
-
# `Environment.for_project(libraries:, signature_paths:)` only — no plugin registry, no `source_files:`. The
|
|
19
|
-
# `source_rbs_synthesizer` plugin hook (ADR-32 / ADR-93's auto-wired `rigor-rbs-inline`) therefore never
|
|
20
|
-
# ran there, so a class whose only signature comes from an inline `#: () -> void` annotation typed as
|
|
21
|
-
# `Dynamic[top]` under a probe while `check` resolved it through the synthesized RBS. That divergence
|
|
22
|
-
# misattributed a dispatch tier during the #162 transitive-void design pass (see the 2026-07-19 addendum in
|
|
23
|
-
# docs/adr/100-static-diagnostic-family-and-void-origins.md).
|
|
24
|
-
#
|
|
25
|
-
# This threads the two things that were missing — the plugin registry built by the plugin loader, and the
|
|
26
|
-
# `source_files:` the synthesizers run over — matching `rigor check`'s `Environment.for_project` call
|
|
27
|
-
# (built in `Analysis::Runner::PoolCoordinator#build_runner_environment`). A probe legitimately simplifies
|
|
28
|
-
# relative to check: no synthesis-failure reporter (a probe has no diagnostic pipeline) and no synthesis
|
|
29
|
-
# cache store (a single-position probe recomputes cheaply). Plugin loading itself matches check — same
|
|
30
|
-
# `.rigor.yml` `plugins:` config, same ADR-93 auto-wire (already applied by `Configuration.load`), same
|
|
31
|
-
# `enabled:` / `require_magic_comment` semantics via `Plugin::Loader.load`.
|
|
32
|
-
#
|
|
33
|
-
# Fail-soft is the invariant: a project with no plugins, an unresolvable plugin gem, or any error during the
|
|
34
|
-
# plugin-aware build degrades to the bare environment the probes used before — never a crash. `Plugin::Loader`
|
|
35
|
-
# already isolates per-entry load failures onto the registry; the `rescue` here is the belt-and-suspenders
|
|
36
|
-
# around anything the loader or the plugin-aware env build itself might raise.
|
|
37
|
-
module ProbeEnvironment
|
|
38
|
-
module_function
|
|
39
|
-
|
|
40
|
-
# Builds the plugin-aware {Rigor::Environment} a probe types against.
|
|
41
|
-
#
|
|
42
|
-
# @param configuration [Rigor::Configuration] the loaded project configuration (already carries the
|
|
43
|
-
# ADR-93 auto-wired `rigor-rbs-inline` entry when the library is resolvable).
|
|
44
|
-
# @param source_files [Array<String>] the file(s) the probe inspects. Threaded so each loaded plugin's
|
|
45
|
-
# `source_rbs_synthesizer` runs over them at env-build time; an empty list contributes no synthesized RBS.
|
|
46
|
-
# @return [Rigor::Environment]
|
|
47
|
-
def build(configuration:, source_files:)
|
|
48
|
-
Environment.for_project(
|
|
49
|
-
libraries: configuration.libraries,
|
|
50
|
-
signature_paths: configuration.signature_paths,
|
|
51
|
-
plugin_registry: load_plugin_registry(configuration),
|
|
52
|
-
source_files: source_files
|
|
53
|
-
)
|
|
54
|
-
rescue StandardError
|
|
55
|
-
bare(configuration)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# Loads the project's configured plugins the same way the plugin-inspection commands (`rigor plugins`,
|
|
59
|
-
# `rigor doctor`) do: a `Plugin::Services` with no cache store (the probe recomputes) driving
|
|
60
|
-
# `Plugin::Loader.load`. Returns `nil` — so `Environment.for_project` skips the plugin tier entirely —
|
|
61
|
-
# when the project declares no plugins.
|
|
62
|
-
def load_plugin_registry(configuration)
|
|
63
|
-
return nil if configuration.plugins.empty?
|
|
64
|
-
|
|
65
|
-
services = Plugin::Services.new(
|
|
66
|
-
reflection: Reflection,
|
|
67
|
-
type: Type::Combinator,
|
|
68
|
-
configuration: configuration,
|
|
69
|
-
cache_store: nil
|
|
70
|
-
)
|
|
71
|
-
Plugin::Loader.load(configuration: configuration, services: services)
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
# The pre-fix environment: RBS + project signatures only, no plugin tier and no synthesized RBS. The
|
|
75
|
-
# fail-soft floor — a probe on a project with broken or absent plugin setup lands here and behaves exactly
|
|
76
|
-
# as it did before this parity fix.
|
|
77
|
-
def bare(configuration)
|
|
78
|
-
Environment.for_project(
|
|
79
|
-
libraries: configuration.libraries,
|
|
80
|
-
signature_paths: configuration.signature_paths
|
|
81
|
-
)
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
end
|