nightshade [scan] [path] [options]
nightshade review ROOT --out NEW_DIRECTORY [--compiler-version V] [--compact-path PATHS]
nightshade detector list [--json]
nightshade detector show ID [--json]
nightshade print cfg|ir|call-graph|state|entrypoints|inventory FILE
nightshade print human-summary|ledger-access|disclosure-map|data-dependency FILE [options]

  --json | --sarif          Machine-readable output (stdout)
  --config FILE            Strict JSON configuration; default: nightshade.json
  --compact-path PATHS     Import/include search paths (:-separated)
  --detectors ID,ID        Run only the specified detectors
  --profile audit|hygiene  Audit is the default; hygiene adds source-hygiene rules
  --detector-module FILE   Execute a trusted local .cjs detector (repeatable; explicit opt-in)
  --compiler-version V     Select pinned analysis profile (0.28.0, 0.29.0, 0.30.0, 0.31.1, 0.33.0-rc.2, 0.34.0, 0.35.0-rc.1, 0.35.0)
  --experimental-counter-queries  Experimental selected-detector predicate analysis
  --rule-incomplete error|warn  CI treatment of rule-only gaps (default: error)
  --fail-on LEVEL          info|low|medium|high|critical|none (default: info)
  --min-confidence LEVEL   low|medium|high (CI threshold; findings remain visible)
  --min-severity LEVEL     Show only info|low|medium|high|critical and above; diagnostics remain
  --exclude PATTERN        Exclude discovered roots (repeatable; imports still analyzed)
  --baseline FILE          Only new findings affect CI exit status
  --write-baseline FILE    Create fingerprint baseline; refuses overwrite
  --compiler EXECUTABLE    Explicitly execute a trusted pinned Compact compiler
  --zkir-version 2|3       Match the project's compiler profile (default: 2)
  --max-steps NUMBER       Per-entry analysis step budget (default: 40000)
  --max-paths NUMBER       Path expansion budget (default: 256)
  --timeout-ms NUMBER      Per-file isolated-worker timeout (default: 60000)
  --heap-mib NUMBER        Worker V8 heap limit (default: 512; not an RSS cap)
  --verbose                Include complete per-rule coverage in human output
  --stats                  Include phase timings in human output
  --version                Show tool version

Ordinary scans are offline and do not execute Compact code.
Inventory completeness covers semantic representation, not execution or analysis paths.
Policy rules need configured secrecy, guards, transitions, or work limits.
Exit: 0 threshold not exceeded; 1 findings; 2 incomplete/invalid analysis.
"complete" means the supported analysis finished, not proof of contract security.
