Singh Labs ← all tools

plumb

01 · CLI

The agent's summary is true and incomplete. Plumb holds it against the diff and prints only the part it left out.

The 11pm problem

Without it

"Fixed the failing build. CI is green again." Four sentences, nine hundred lines of diff. You read the four sentences, because it's late and they've been right all week.

With it

quiet cuts
  · .github/workflows/ci.yml:5 CI failure silenced
    continue-on-error: true

CI is green. Nothing was fixed.

What it catches

Install · about a minute

  1. Grab it

    Node 18+. Straight from the repo — the bare name on npm is somebody else's package.

    npm install -g github:manpreet171/plumb
    added 1 package in 8s
  2. Keep the agent's last message, then hold it up

    No config, no file to write, nothing to commit.

    plumb check summary.md
    plumb — 3 files changed, 1 named in the summary
    
    changed but never mentioned  (read these first)
      · .env.example modified
      · .github/workflows/ci.yml modified
    
    quiet cuts  (removed or silenced, whatever the summary says)
      · .github/workflows/ci.yml:5 CI failure silenced
        continue-on-error: true
      · src/parse.ts:1 linter or type check silenced
        // @ts-ignore
      · src/parse.ts:3 check removed
        validateShape(data);
    
    5 things the summary did not tell you.
  3. Put it in CI when you trust it

    Exit 1 fails the job. Start with --warn-only, which reports and blocks nothing.

The clever bit

A tool that cries wolf about a refactor gets muted in a week, and then the real unclaimed change ships with a green tick next to it. So a cut only counts if the thing is actually gone — if it still appears anywhere in what was added, plumb says nothing.

the diff: verifyPassword(user, pass) → verifyPassword(u, p)
a rename, not a removal

plumb — 1 file changed, 1 named in the summary

the summary holds. Every change was named, nothing was quietly cut.

It under-reports on purpose. One missed finding costs you a review; one false alarm costs you the tool.

Get it

github.com/manpreet171/plumb →
0 dependencies node 18+ no config no LLM calls MIT