Class: Rigor::CLI::SkillDeepProbe
- Inherits:
-
Object
- Object
- Rigor::CLI::SkillDeepProbe
- Defined in:
- lib/rigor/cli/skill_deep_probe.rb
Overview
rigor skill describe --deep — the one part of describe that runs an analysis (issue #148; ADR-73
§ "Field-trial follow-ups", the "headline check-awareness" open decision, shape (b)).
The boundary is this file. ADR-73 WD2 makes describe presence-only and side-effect-free, and that
guardrail binds the un-flagged command exactly as before: SkillDescribe requires this file only when
--deep was passed, so a default rigor skill describe never loads the inference engine, never opens a
project source file, and writes nothing. --deep is the opt-in that trades that purity away: it runs a real
rigor check over the configured paths using the configured cache and worker count, so it is as slow as
rigor check on a cold cache and it WRITES .rigor/cache just like rigor check does.
The routing vocabulary is deliberately the one describe's "For the agent" section already teaches (errors →
rigor-baseline-reduce, a proven monkey-patch cluster → rigor-monkeypatch-resolve, an empty RBS environment
or a configuration-error → rigor-doctor). --deep makes the headline compute the call the agent would
otherwise make from the same evidence; it does not introduce a second taxonomy.
Defined Under Namespace
Classes: Report
Constant Summary collapse
- CONFIGURATION_ERROR_RULE =
Diagnostics the engine emits when the setup is broken rather than the code — the
rigor-doctorsignal. "configuration-error"- MONKEY_PATCH_CLUSTER_SHARE =
The share of a run's errors that must be proven monkey-patches before the headline routes to
rigor-monkeypatch-resolverather thanrigor-baseline-reduce. The agent-prompt vocabulary this reuses says "a monkey-patch cluster", and a cluster is what makes the workflow the right one:pre_eval:clears those sites wholesale, so it is the shortest path only when clearing them materially changes the count. One proven site beside four hundred unrelated errors is a true finding pointing at the wrong workflow — the report says so in the reason line either way, so nothing is lost by leaving the headline on the bigger problem. Rational(1, 3)
Instance Method Summary collapse
-
#initialize(config:, root: Dir.pwd) ⇒ SkillDeepProbe
constructor
A new instance of SkillDeepProbe.
-
#run ⇒ Report
Never raises — every failure degrades to a
:error/:skippedreport whoserouteis nil, leaving the presence-only headline in charge.
Constructor Details
#initialize(config:, root: Dir.pwd) ⇒ SkillDeepProbe
Returns a new instance of SkillDeepProbe.
50 51 52 53 |
# File 'lib/rigor/cli/skill_deep_probe.rb', line 50 def initialize(config:, root: Dir.pwd) @config = config @root = root end |
Instance Method Details
#run ⇒ Report
Returns never raises — every failure degrades to a :error/:skipped report whose route is nil,
leaving the presence-only headline in charge.
57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/rigor/cli/skill_deep_probe.rb', line 57 def run if @config.nil? return Report.new( status: :skipped, route: nil, reason: nil, detail: "skipped — this project has no Rigor configuration, so there is nothing to check yet." ) end outcome = CheckInvocation.attempt(config_path: File.join(@root, @config)) return failed(outcome.error) unless outcome.ran? classify(outcome.result) end |