How many things did your team promise customers last quarter?
Connect a mailbox. In ten minutes you get the list: every commitment somebody made, the sentence they said it in, who they said it to, and whether it shipped.
Read-only access. Ten minutes. No card.
The first screen is a number you did not have
We read the last 90 days of mail and calendar. Nothing to type, nothing to import, no workspace to set up.
Sample figures from a demo workspace. Every row shows the sentence it came from, and one click removes a row that is wrong.
Promised and not started no work behind it
Sorted by the pipeline that depends on it. This is the list that turns into a renewal fight nine months from now.
| Ref | Commitment | Account | Open | Due |
|---|---|---|---|---|
| C-142 | SAML SSO in the app | Acme Health | $40,000 | 71 days late |
| C-118 | Salesforce two-way sync | Northwind Freight | $96,000 | Sep 30 |
| C-203 | SOC 2 report before renewal | Vantage Labs | $28,000 | Oct 31 |
| C-097 | Audit log export | Britelane | $12,000 | Nov 15 |
Shipped and not told merged, never passed on
Work that satisfies a promise nobody has mentioned to the customer. Every row is a warm email your team already earned and has not sent.
| Ref | Commitment | Account | Shipped in | Merged |
|---|---|---|---|---|
| C-088 | Bulk CSV import | Redline Systems | api#4182 | 19 days ago |
| C-131 | Webhook retries | Acme Health | api#4290 | 7 days ago |
| C-076 | Two-factor for admins | Corvid Analytics | web#2071 | 41 days ago |
Every row shows its receipt
A commitment exists only if we can show you the sentence. Quote, speaker, timestamp, and a link back to the call at the right second or the email in your thread.
“Yeah, SAML is on the roadmap. We’d have that in front of you before your renewal in June.”
- Ref
- C-142
- Said by
- Dana Whitfield, on our side
- Said to
- Acme Health, three people on the call
- Source
- May 12 call recording, 22:41
- Read as
- firm commitment, due end of June, confidence 0.91
Nothing enters the ledger because a model was confident. Candidates arrive in an inbox and a person keeps them or throws them away.
It comes to the pull request
Your roadmap stays in Linear and your work stays in GitHub. The ledger shows up where the work already happens.
commitops bot commented on #4291 This PR satisfies C-142, “SAML SSO in the app.” Acme Health, $40,000 open, promised for Jun 30 on the May 12 call. Reply not this one to unlink.
Write Satisfies C-142 in a PR body and the ledger updates itself. That is the whole integration.
Your agents make promises too, and the company is bound by them
Every actor in the ledger is a principal, and a principal is a person or an agent. A promise your support agent makes sits on the same page as one your founder makes, with the same quote, the same owner and the same due date.
An airline’s chatbot told a passenger about a bereavement refund policy that did not exist. The airline argued the chatbot was responsible for its own actions. The tribunal rejected that and held the airline bound by what its bot said.
Two things go wrong only in a company running agents: an agent promises something nobody in engineering ever saw, or it states a capability that is not true. Both grow with every agent you add.
MCP server and HTTP API
record_promise(quote, message, account, due)
logs a commitment the moment the agent makes it, with the words as evidence
check_claim("we have EU data residency")
verified, false or unverified from the claim register, with the evidence and the date it was last checkedAgents read and write the ledger through an MCP server and an HTTP API, each with its own key and its own permissions, and every change lands in the same history as a person’s. An agent starts with permission to propose and nothing else, and it may never keep a promise it made itself. Agent docs.
It reads what you already have
Your commitments are already written down. They are in a sent folder, a call recording, a proposal PDF and a security questionnaire. The work that satisfies them is in GitHub or Linear. The money behind them is in your CRM. CommitOps joins those three and asks nobody to type anything new.
repoops.ai
Knows what shipped, when, and what it cost to build.
commitops
Keeps what you promised, joined to the work and the revenue.
salesascode.com
Knows what was said on the call and what the deal is worth.
Works on its own with one mailbox and one work tracker. Goes deeper next to either sibling, and you do not need them to start.
The Monday page writes itself
What we promised, what shipped, what it cost to build, what it earned, what slipped and who is waiting on it. Assembled from the week’s real artifacts, ready before you open your laptop.
| Promised this week | 7 new commitments, 5 kept from 14 candidates | +$61,000 |
| Shipped | 4 commitments closed, 3 customers told | $88,000 |
| Slipped | C-118 Salesforce sync moved a second time | $96,000 |
| Cost to build | across 19 merged pull requests | $4,120 |
| Waiting on us | 6 commitments past due, oldest 71 days | $103,500 |
Priced per company, not per seat
Per-seat pricing punishes the one thing that makes this work, which is engineering reading the ledger. So everyone in the company is included at every tier, and so is every agent. The price moves with the number of customer accounts you track.
- One mailbox, one work tracker
- 10 accounts, 25 open promises
- The first-run number
- Promises, unlimited
- CRM connected, so rows carry dollars
- Slack digest and the PR bot
- Promises and claims
- The claim register and the agent scoreboard
- The check_claim API for your agents
- Promises, claims and entitlements
- Contract ingestion, SSO, audit export
- Multi-team permissions and a DPA
26 to 100 accounts: Team $399, Company $1,590. 101 to 400: Team $599, Company $2,390. Above 400, we quote. Annual billing is two months free. The full price list.
Is this another roadmap tool?
No. Your roadmap stays in Linear. This is the list of things you told customers, which has never lived anywhere.
Will it read my whole inbox?
It reads threads with people outside your company, read-only, and you pick the mailboxes. Disconnect a source and everything that came from it is deleted.
What if it invents a promise?
It cannot put one in the ledger. Extraction produces candidates with the quote attached, and a person keeps or discards each one. We tune for missing a few rather than inventing any.
Do I need your other two products?
No. One mailbox and one work tracker is enough to start.
How many are open right now?
Ten minutes, read-only, no card.
Companies, refs, figures and quotes on this page come from a demo workspace and are invented.