Audits Reach source-pattern smell checks against an Exograph index.
This module is intended for Reach rule development: pass one or more Reach
smell check modules, scan a broad Exograph corpus, and inspect real examples
for false positives. It only consumes checks that expose Reach's
__reach_pattern_check__/0 metadata, which is produced by
Reach.Smell.Check.Source.
Summary
Functions
Loads source-pattern metadata from Reach smell modules.
Scans index with source-pattern Reach smell modules.
Functions
@spec load_patterns!([module()]) :: [Exograph.Reach.SourceSmellAudit.Pattern.t()]
Loads source-pattern metadata from Reach smell modules.
@spec scan(Exograph.Index.t() | Exograph.ShardedIndex.t(), [module()], keyword()) :: {:ok, Exograph.Reach.SourceSmellAudit.Result.t()}
Scans index with source-pattern Reach smell modules.
Options:
:limit- maximum findings returned, default100.:candidate_batch_size- fragment candidate page size. Defaults to1000for anchor mode and8000for exact mode.:max_anchor_candidates- skip patterns whose best indexed anchor appears in more fragments than this, default10000.:candidate_mode-:anchorfor fast first results or:exactto precompute candidates matching each pattern's full required term set.:verify_concurrency- maximum concurrent AST verification tasks, defaultmin(System.schedulers_online(), 8).