MN://WORK/hay
hay
A ranked grep for coding agents: exactly ripgrep’s matches, reordered so the declaration comes first.
- Rust
- ripgrep
- TypeScript
- Information retrieval
$ trace "hay"
- agent transcripts
- ripgrep matches
- declaration priors
- paired evaluation
The problem
Plain grep is prior-free: it ranks a dead plan-v3-FINAL.md exactly like the function definition. Measured over 2,508 real agent searches across 71 repositories, the answer landed in the top ten only 34–62% of the time, whatever the repo hygiene.
The constraint
Same matches, same flags, same path:line:text output as rg. No index, no daemon, no state — and every claim pre-registered against a transcript-derived test collection before shipping.
The approach
ripgrep’s engine and walk plus declaration and path priors. Six ranking signals were designed; three earned nothing in ablation and were deleted. Every miss has a counted category in a published error taxonomy.
The outcome
Paired over 951 queries: MRR 0.266 → 0.404, answer in top ten 46% → 60% (95% CI excludes zero). Worse on 25% of individual queries — the README says so. Started as a repo-hygiene score that predicted nothing; the negative result is published beside the tool.
Next route
Open another project
The index is the wider system.