What's Changed
Suppress stale committed-shard results for dirty files
Fixed a bug where searching for a renamed or deleted symbol would still return stale results from the committed shard. When a file is modified locally (dirty), the committed shard contains outdated HEAD content — these results are now suppressed even when the uncommitted shard has no match. If all results are stale, seek correctly exits with code 1 (no match).
Right-align line numbers globally across all files
Line numbers are now right-aligned using a consistent field width computed across all files in the result set. This improves readability when results span both low and high line numbers (e.g., line 5 and line 100 are now visually aligned).
Dynamic memory test budgets
Replaced hardcoded memory budgets in streaming tests with a dynamic 33% threshold — streaming must use at least 33% less memory than total input. This makes tests resilient across different machine configurations while still catching regressions.
Full Changelog: v0.3.3...v0.3.4