Scrubby

scrubby_report_findings

Report review findings back to Scrubby for Hebbian learning — strengthens domain connections that matter, weakens ones that don't.

After reviewing a file (whether automatically or in collaboration with a human), call this tool to feed the findings back into Scrubby’s learning loop. Each finding strengthens the connection weights that produced useful signal; the absence of findings on a low-confidence connection weakens it.

This is what makes Scrubby get sharper over time. The phrase “Scrubby learns from usage” describes this tool’s behavior literally.

Parameters

Name Type Required Description
file_path string Yes Relative path to the file that was reviewed.
findings object[] Yes Array of findings. Each finding requires severity and message; domain and line are optional but recommended for accurate weight updates.
repo_id number No Scrubby repository ID. Auto-detected if omitted.
repo_name string No Repository name (e.g. api). Used to auto-resolve in remote mode when multiple repos are indexed.

Finding shape

Each item in the findings array:

FieldTypeRequiredDescription
severity"error" | "warning" | "info"YesThe severity of the finding.
messagestringYesHuman-readable description.
domainstringNoThe domain that produced the finding. Recommended — weight updates target the connection between this domain and the file’s primary domain.
linenumberNoThe line number the finding applies to.

Typical usage

After your AI editor completes a review:

"Report the findings you just produced to Scrubby via scrubby_report_findings."

A well-prompted agent does this automatically as part of its review loop, attributing each finding to the domain that surfaced it.

What changes when you call this

  • Reinforced. When a finding has a domain set, the connection between that domain and the file’s primary domain gets stronger by a small delta.
  • Weakened. When a connected domain ran but produced no findings, the connection gets weaker by a smaller delta. This is asymmetric on purpose — useful signal counts more than its absence.
  • Global vs repo-scoped. Global-domain weights (Ruby, React, Testing) update on a slower clock so a single repo’s signal doesn’t move them disproportionately.

See also

Last updated