Skip to content

v0.7.0 — Line numbers for targeted reads

Latest

Choose a tag to compare

@Codeturion Codeturion released this 28 Feb 01:17
· 14 commits to master since this release

What's New

Line numbers on every record

All API records now include line_start and line_end (1-indexed). Multi-line declarations span the full signature. This lets AI agents do targeted reads instead of reading full files:

File: Converter.java:504-506    → Read("Converter.java", offset=504, limit=10)
File: album.controller.ts:46   → Read("album.controller.ts", offset=46, limit=15)

Multi-line support across all parsers

  • C#: _collect_params returns (str, end_line) for constructors and methods
  • Go: captures end_i from _collect_signature() for methods, functions, and interface methods
  • Java: constructors, methods, and interface methods use end_i from _collect_signature()
  • Python: multi-line typed class fields track skip_lines
  • TypeScript: accessors and interface methods capture end_i from _collect_signature()

Updated CLAUDE.md snippet

  • Concise 13-line snippet with targeted read examples
  • Explicitly instructs subagents to use codesurface tools first

Edge case fix

  • _collect_params now tracks end on every loop iteration, so if the 50-line lookahead exhausts without finding ), line_end still reflects the last consumed line

Validated on

  • Flask (872 records), Gin (574), Immich (7,957), Guava (8,377) — 25,591 total, 0 mismatches