Skip to content

Releases: luuuc/sense

v0.62.19

08 May 15:25

Choose a tag to compare

docs: update comparison image to refactor task with fresh bench data

Relabel SVG from "find all callers" to "refactor a symbol safely" to
match the maket/refactor bench data. Update sense-side stats to fresh
run numbers (5 calls, 109K tokens, 48s). Update score/minute in README
from +28% to +37%.

- SVG: reorder tool calls to natural refactor flow (blast, graph, read, edit, read)
- README: score/minute 0.36 -> 0.38 (+37%)
- Alt text updated in both README and landing page

v0.61.0

07 May 16:11

Choose a tag to compare

feat(extract/ruby): improve receiver resolution for Ruby call edges

The Ruby extractor previously emitted surface-text targets like
'topic_creator.create' and 'self.new(...).create' that never matched
any symbol's qualified name. The resolver's unqualified fallback then
matched bare method names to the lowest-ID symbol in the same file,
starving cross-file instance methods. TopicCreator#create had zero
callers in the Discourse index.

This change adds three complementary resolution strategies:

1. Implicit self: bare identifier calls (tree-sitter identifier nodes)
   are now emitted as 'self.name' so the resolver rewrites them to the
   enclosing class (e.g. self.validate -> Order#validate).

2. Local type inference: intra-method assignments like
   'order = Order.new(...)' are tracked in a lightweight type map.
   Calls on known locals ('order.save') emit the fully-qualified
   instance method ('Order#save'). Operator assignments (||=) are
   handled the same as regular assignments.

3. .new chain resolution: method chains ending in '.new' on a
   constant or self are resolved to the instance type, so
   'TopicCreator.new.create' becomes 'TopicCreator#create'.

Unresolved identifier receivers and non-.new chains fall back to the
bare method name at ConfidenceUnresolved (0.5) so they don't drown
out higher-confidence edges in graph queries.

New fixture test (call_patterns.rb) covers explicit receiver,
implicit self, bare method, class method, block call, and chain call.

Verification on Discourse: TopicCreator#create went from 0 to 3
verified incoming calls edges (PostCreator#create_topic,
TopicCreator.create, and a plugin caller).

v0.59.0

06 May 16:32

Choose a tag to compare

test(blast): cover type-member expansion, module/interface exclusion,…

v0.55.0

05 May 12:03
e2471d4

Choose a tag to compare

Merge pull request #56 from luuuc/feat/conventions-from-source

feat(conventions): surface key symbols by file-reference reach

v0.54.0

04 May 19:45

Choose a tag to compare

docs: add Go Report Card and Codecov badges

Add Go Report Card and Codecov badges to the README badge row
for at-a-glance project health visibility.

v0.50.0

04 May 07:48

Choose a tag to compare

feat(conventions): add Go type alias and middleware factory detectors

Detect Go type aliases (kind="type") and middleware factory patterns
(functions called by router methods like Use, GET, POST). Fix
enrichEdgeCounts to preserve detector-set EdgeCount values instead
of overwriting them. Use minInstances (3) threshold for type aliases.

v0.47.4

03 May 13:22

Choose a tag to compare

fix(update): resolve latest version via redirect to avoid GitHub API …

v0.47.3

03 May 13:03
493a39d

Choose a tag to compare

Merge pull request #43 from luuuc/feat/response-sizing

fix(mcp): right-size tool responses with tier-aware budgets

v0.47.0

02 May 18:32

Choose a tag to compare

Update release.yml

v0.43.0

01 May 16:02
45cc937

Choose a tag to compare

Changelog

  • 45cc937: Merge pull request #31 from luuuc/feat/scan-progress-ux (@luuuc)
  • e2d1064: feat(scan): add live progress display with TTY detection (@luuuc)
  • 0f04927: feat(scan): add warning hint line to scan summary (@luuuc)
  • c2a9e4e: feat(scan): print instant banner on scan start (@luuuc)
  • 35f8d14: feat(scan): replace per-file warning prints with grouped collection (@luuuc)