Plumb. Local-first PM
Project management for agent work

Know it is level before you build on it.

Plumb is the ledger for work done by AI agents. Every claim is attributed, bound to the revision it came from, and held against its evidence. Nothing counts until a human says it does.

Runs on your machine - no model API required

Journal - newest first Demo
ObservedRoute probe answered in 116 ms, 6 models listed
measured
ProposedEdit .env.example - binds to revision 7ce4f21901df
needs evidence
ProposedSecond edit to the same line, opposite change
conflict
ReportedAgent says the suite passed - no output attached
unverified
DecidedApproved by the owner - record only, nothing applied
on record

The mark is the instrument

The bubble is the status light.

A level tells you what is actually true, not what you hoped. Plumb's mark carries the same two states as its ledger, so the brand and the product never mean different things.

Level

Measured and verified. The claim has evidence attached and a human has checked it against the revision it binds to.

Green is earned, never assumed

Off level

Proposed but unverified. Someone - the agent, or you - says this is true. Nothing has confirmed it yet, so it stays pending.

Yellow means not yet, not wrong

The truth grammar

Five words, and only one of them is yours.

Every record in Plumb is one of these. Model output can never advance past Proposed on its own, which is what makes the ledger worth keeping.

Observedwhat was measured
A probe, a check, a reading taken by the system itself.
Reportedwhat was claimed
Something an agent said, with nothing yet behind it.
Recordedwhat was input
Data a human supplied, noted as supplied rather than verified.
Proposedwhat is waiting
Agent output. Bound to a revision, carrying whatever evidence it has.
Decidedwhat you said
Your click, recorded with a reason. Approval applies nothing by itself.

How it works

It records. It does not decide.

An agent proposes

Work arrives as a proposal with a content hash and the revision it was made against - never as a finished result.

Evidence or a reason

To approve it you need the evidence. To reject it you need a reason. Either way the record says which, and who.

You decide, on the record

Your decision is appended permanently. Approving applies nothing - it records that the human owned the call.

You cannot blame the agent for hallucinating, or lying, or making a mistake, because the human has explicit ownership of the agent's work.
The premise Plumb is built on
What Plumb is not

It is not a better chat box, and it does not make the model smarter. The model will still be wrong sometimes. Plumb exists so that when it is wrong you can see who said what, on what evidence, and whether you agreed - instead of finding out months later that nobody knows.