100%

ASSIST-Tier Detectors (graph-nominates, read-confirms)

Goal

Implement the ~13 ASSIST detectors where the graph zooms out to nominate seams and a code-read confirms: scattered-knowledge ranking, duplicated-dispatch, registration-DRIFT (EMITS / HAS_METHOD), naming (ephemeral/weak/domain-empty over name), cross-phase GAP, comment name-restatement (doc_comment vs name), hot-path (hotspot_score), and EXPOSURE (visibility + HAS_TYPE). These are LOWER precision, so EVERY candidate is hard-gated on manual verification (§04).

Implementation Sketch

Group detector impls by mechanism; emit Candidates labeled with their precision tier. EXPOSURE is explicitly best-effort (HAS_TYPE is sparse: ~2003 edges across 35K symbols — the type-resolver is incomplete) and MUST be labeled weak so the verifier knows to lean on the code read.

Spec References

impl-hygiene.md LEAK:scattered-knowledge / DRIFT / NAMING / GAP / COMMENT_HYGIENE_DRIFT:name-restatement / EXPOSURE; intel_repo/CLAUDE.md (hotspot_score / EMITS / HAS_TYPE population).

Work Items

  • Implement the ASSIST detectors (scattered-knowledge rank, dispatch-dup, registration-DRIFT, naming, GAP, comment-restatement, hot-path, EXPOSURE)
  • Label every ASSIST candidate with its precision tier; mark EXPOSURE best-effort (HAS_TYPE sparse)
  • pytest covering each ASSIST detector + the precision-tier labeling