← All news
Engineering

Less noise, more signal

What Lineman does with the data-heavy output your tools produce, and why your main model never has to wade through it.

The Lineman team

A coding agent is only as good as what's in its context window, and most of what lands there isn't reasoning. It's raw data. A thousand-line file you needed three functions from. A build log where one assertion failed. Search results you'll scan once and discard. Every one of those tokens competes with the thinking that actually solves your problem, and you pay for all of them. Lineman's job is to make sure your model sees the signal and skips the noise.

What sits between your tools and your model

When your agent reads a file, runs a build, searches the codebase, or fetches a page, the result normally flows straight back into the conversation, verbatim and however large. Lineman steps into that gap. The raw output goes to a fast secondary model that distills it down to what the task actually needs, and your primary model receives the distilled version instead of the firehose.

The effect is easy to describe:

Without LinemanWith Lineman
1,200 lines of a file pasted into contextThe functions and signatures you asked about
A full build logThe failures and what caused them
Raw search outputThe matches that matter, ranked

Your agent keeps working exactly as before. What changes is how much it has to wade through to do it.

Three principles

A few ideas guide how Lineman behaves, and they hold whatever the tool or the language:

  • Preserve intent. Compression is worthless if it drops the thing you were looking for. The goal is always "what does this task need from this output," never just "make it shorter."
  • Only step in when there's something to gain. Small or already-tight output isn't worth touching, so Lineman leaves it alone. The win comes from the heavy stuff.
  • Stay out of the way. You don't learn new commands or change how you work. Lineman runs in the background and your agent does what it always did.

Why this beats just reading less

The obvious alternative is to tell your agent to read fewer files, or to truncate the big ones. That trades tokens for blind spots. Truncation is positional: it keeps the first N lines whether or not they're the relevant ones. Distillation works on meaning, so it keeps the parts that answer the question wherever they sit in the file.

That's the whole idea behind Lineman: keep the expensive model thinking, and hand everything else to a sidekick built for it. You can watch the savings add up in your own sessions with /lineman:stats, or estimate them up front with our savings calculator.

Related