qa_cluster.go wires QA finding clustering through Poindexter instead of the old exact (tool, severity, category, rule) bucketing. Hashed feature vectors built from finding metadata + message text are indexed in Poindexter KD-trees with cosine + Euclidean distance, near-neighbours unioned, then emitted as the existing DispatchCluster shape (so consumers don't break). Old exact-key grouping kept as fallback if Poindexter tree construction ever fails. qa.go updated to describe new similarity-based contract; runQAWithReport already consumes clusterFindings, picks up the new grouping automatically. Tests cover: 3 similar findings + 2 distinct → grouped correctly; 5 distinct findings → 5 clusters; 0 findings → empty/nil no panic; sample-cap regression preserved. Note: github.com/Snider/Poindexter added as a direct dep. Per the non-negotiable migration policy on Snider personal-namespace deps (see #219), file follow-up to migrate Poindexter to its canonical core/* home if/when that lands. Co-authored-by: Codex <noreply@openai.com> Closes tasks.lthn.sh/view.php?id=164 |
||
|---|---|---|
| .. | ||
| agentic | ||
| brain | ||
| lib | ||
| messages | ||
| monitor | ||
| runner | ||
| setup | ||
| .DS_Store | ||