Skip to content

v0.2.36: fix: make shape clustering span-aware

Choose a tag to compare

@OrenAshkenazy OrenAshkenazy released this 09 Aug 11:46
· 6 commits to main since this release

Summary

  • fetch review range starts at thread and comment level, with single-line fallback
  • cluster on the union of code tokens across each anchored span
  • require shared identifier-like tokens at both shape and sweep safety floors
  • add a captured 16-finding SignalScout #195 corpus with matching historical source snapshots

Validation

  • ........................................................................ [ 8%]
    ........................................................................ [ 17%]
    ........................................................................ [ 26%]
    ........................................................................ [ 35%]
    ........................................................................ [ 43%]
    ........................................................................ [ 52%]
    ........................................................................ [ 61%]
    ........................................................................ [ 70%]
    ........................................................................ [ 78%]
    ........................................................................ [ 87%]
    ........................................................................ [ 96%]
    .............................. [100%]
    822 passed in 6.38s — 822 passed
  • .......... [100%]
    10 passed in 0.36s — 10 passed; recorded replay output remains byte-stable
  • All checks passed!

Closes #74.
Closes #75.
Closes #76.

Summary by Sourcery

Make review-shape clustering span-aware and tighten token-based safety floors for clustering and sibling sweeps.

New Features:

  • Support span-anchored clustering by reading all code lines in a review range instead of a single line.
  • Include GitHub review range start fields in thread fetching and propagate them into captured findings.
  • Add a captured SignalScout PR195 corpus with anchors and matching historical source snapshots for real-world clustering coverage.

Enhancements:

  • Cluster shapes and sweep siblings only when shared tokens include identifier-like signal rather than punctuation-only intersections.

Documentation:

  • Update the GH review loop skill documentation to explain span-based shape clustering, single-line fallback, and the requirement for letter-bearing shared tokens in sweep patterns.

Tests:

  • Extend clustering, sweep sibling, and GitHub thread fetching tests with PR195 corpus cases and new assertions around span unioning, significance-filtered tokens, and GraphQL query fields.