Which of your services does the poisoned package reach?

When a package is poisoned, Plumbline follows the dependency path to every service it touches, says plainly when it can't know, and reopens past decisions the moment an assumption breaks.

  1. storefront-webyour service
  2. @acme/payments-sdk@2.1.0direct dependency
  3. @cacheable/net@2.1.1transitive
  4. @cacheable/utils@2.5.1transitive
  5. keyv@6.0.0poisoned release
Published 4 August, 11:19 UTC. Real incident, real lockfiles.

Replay the incident

Loading the incident. Drag the weight down the line, or press play, and watch each service's verdict change as the first hour unfolds.

--:--:--UTC

Drag the weight

Who is affected

Which services exist, and which face the internet, is declared, not discovered. Verdicts come from deterministic code, never from a model.

Three habits that keep an answer honest

Show the path, not a score

Every exposed service comes with the exact chain from its own dependency down to the poisoned version, found with a shortest-path query, and a receipt you can re-derive.

servicehttp-client cacheable/netkeyv@6.0.0

Say what you assumed

Clearing a service rests on facts: the lockfile hasn't changed, this version isn't on the advisory. Plumbline stores each fact next to the decision that leans on it.

Reopen only what broke

When a fact stops being true, one query finds the decisions that leaned on it. Everything else stays decided, so nothing is re-reviewed by habit.

one reopens, four stay decided

Then try it on your own project

  1. Open Check your project in the top bar.
  2. Choose a sample, or pick or paste your package-lock.json.
  3. Click Check. You get a verdict, the path, and the queries the graph ran.

Check your lockfile

One graph does three jobs

Evidence, memory and the agent's tools all run on a single FalkorDB graph. Here is what each job asks of it.

Evidence
A shortest-path query over the resolved dependency edges returns the chain for every exposed service.
Memory
Decisions point at the facts they assume. One traversal finds exactly which decisions a new event breaks.
Tools
An MCP server exposes read-only tools, including a fleet-wide fix-first query and PageRank over each dependency graph, plus a shared work queue for hand-offs between agents. The agent reaches the graph only through them.