mix exograph.reach.audit (exograph v0.9.11)

Copy Markdown View Source

Audits Reach source-pattern smell modules against an Exograph DuckDB index.

mix exograph.reach.audit Reach.Smell.Checks.PipelineWaste       --duckdb-database /tmp/exograph-prod-shard-bench/hex_0.duckdb       --prefix hex_0       --limit 50

Each positional argument is a Reach smell module name. The module is loaded at runtime and must expose __reach_pattern_check__/0, which is generated by Reach.Smell.Check.Source.

Options

  • --repo - Ecto repo module for a QuackDB-backed DuckDB repo
  • --prefix - Exograph table prefix (default: exograph)
  • --quackdb-uri - QuackDB URI when --repo is omitted
  • --quackdb-token - QuackDB token
  • --duckdb-database - managed DuckDB database path when --quackdb-uri is omitted
  • --duckdb-threads - DuckDB execution threads
  • --manifest-path - sharded DuckDB manifest path
  • --duckdb-memory-limit - DuckDB memory limit per opened shard/server
  • --shard-pool-size - DB connections per shard when opening a manifest
  • --shard-port-base - first local QuackDB port when opening a sharded manifest
  • --limit - maximum findings to print (default: 100)
  • --candidate-batch-size - fragment candidate page size (defaults to 1000 in anchor mode and 8000 in exact mode)
  • --max-anchor-candidates - skip patterns whose best anchor is broader than this (default: 10000)
  • --candidate-mode - anchor for quick samples or exact for deeper full scans
  • --verify-concurrency - concurrent AST verifier tasks (default: min(scheduler count, 8))
  • --json - print compact JSON
  • --pretty - pretty-print JSON (implies --json)
  • --group-by - group text output by kind, package, or check
  • --sample - deterministically sample findings after scanning
  • --show-skipped - print skipped-pattern anchor summaries
  • --save - write the current audit JSON to a file
  • --diff - compare current findings against a previously saved audit JSON