On Thursday the board said 91%.
The code said otherwise.
Nobody lied to you. A board is a claim — typed by busy, optimistic people. The repository is the evidence. KalMatrix reads both, tells you where they disagree, and says it on the Tuesday you could still have done something about it.

Nobody is lying. The board just isn’t evidence.
A ticket moves to Done because someone believed it was done. It usually was — nearly. The branch needs one more thing. The review is coming. And every one of those small, honest roundings compounds into a number your client hears as a promise.
The repository has none of that generosity. A pull request is merged or it isn’t. KalMatrix simply reads both and shows you the distance between them.
- Tickets closed with no merged code behind them
- Work “in progress” that no commit has touched in nine days
- Points added after commitment that quietly rewrote the plan
- A blocker nobody escalated, holding fourteen points behind it
AI didn’t close this gap. It industrialised it.
Your team now produces code faster than any human can read it. The bottleneck moved — from writing to verifying — and the board never noticed. Every agent-authored pull request that reaches main without a human review is a claim nobody checked.
Review debt
Not “how fast do we merge” — how many business days of review the open queue represents at the pace your reviews actually happen. The number that tells you whether humans are still keeping up.
The agent scoreboard
Per-agent delivery quality: what dependabot, Copilot or Claude Code merged, how much of it was reviewed, and how much came back as a revert. Agents are tools, so naming them costs no one their privacy.
Unreviewed AI merges
AI-marked code that reached your main branch with no human approval — flagged as it happens, with the pull request named, not discovered in a postmortem.
Verify. Forecast. Arrive.
Three jobs. The third is the one that makes it a habit instead of a dashboard you meant to open.
It verifies — on day one
Authorize Jira and GitHub. Every project, sprint, repo and reviewer is discovered automatically. Within the first run you have the board-versus-code gap: which “done” has code, which doesn’t, and what that does to the number you have been reporting. No history required.
It forecasts — and earns the right to
A sprint burn-up is an S-curve, not a line: teams sandbag early and crunch late, so 15% done on day 5 is healthy and 15% on day 11 is a dead sprint walking. You get a probability of missing committed scope, the day it stops being recoverable, and the points to cut if you act now.
It arrives — before standup
Thirty minutes before your standup, in your team’s own timezone, the chase list lands in Slack: what moved since the last working day, what is stuck and who it waits on, and whether the forecast changed overnight. You walk in already knowing.
It comes to you. Thirty minutes before standup.
Most delivery tools wait to be visited. This one shows up — in the channel your team is already in, at the right local hour for each team, with the reading already done.
- What moved since the last working day — and on a Monday that means Friday through Sunday, not “nothing moved”.
- What is stuck right now, how long, and the specific person it waits on.
- Whether the sprint forecast changed overnight, and by how much.
- One tap to answer: On it, Snooze a day, or Not real. Snoozed items stop nagging; tomorrow’s brief opens with how many chases were picked up.
On Fridays it sends a receipt instead: the calls it published this week, how they were graded against what actually shipped, and the points that were cut after a flagged risk got picked up. The weekly answer to “was this worth having”.
- • PAY-311 merged — refund idempotency shipped
- • PAY-284 moved to In Review
Not another dashboard. A delivery brain.
Everything below runs on the Jira and GitHub you already have — no new fields, no new process, no agent installed on anyone’s machine.
The Truth Gap engine
Twenty-two behavioural checks, each thresholded against your own team’s normal rather than a number we invented. Ghost closes, stale work, silent descopes, review bottlenecks — named, with the evidence attached.
S-curve sprint forecaster
A calibrated probability of missing committed scope, from a burn-up that knows late work lands late. Closed-form arithmetic — every number traces back to sprints you can open and check by hand.
Sprint war room
One sprint, full decision surface: what will land, which items are dragging it, the exact points to cut with named candidates, and the scope timeline showing who moved the goalposts and when.
Planning advisor
Before you commit: your honest throughput — each item counted once, on final completion, not the inflated velocity that re-counts carryover — and a commitment size that clears the bar.
Portfolio rollup
Fifteen teams at once: which commitments are at risk this quarter, ranked, and the shared upstream cause — so three programs stop escalating the same blocker three times.
Reliability & AI impact
Change-failure rate, MTTR and deploy frequency from real deploys — plus which incidents trace back to AI-assisted change. Shipping and shipping a fire are not the same result.
See the actual screens.
These are live views of the running app on the FinPay demo — the same screens you get on your own Jira and GitHub.

Every sprint, forecast
A calibrated probability of missing and an S-curve burn-up per active sprint — with the drivers behind it, not just the number.

Board vs. code
Every “done” ticket checked against merged code, so a watermelon surfaces here before it surfaces in a status report.

Where AI pays off
AI-assisted throughput, review depth and rework per team — with the coverage of the attribution disclosed next to it.
One brief. Every altitude.
Agency & consultancy delivery heads
On a fixed bid, a slipped sprint comes out of your margin.
- The slip caught mid-sprint, while descoping still changes the outcome
- A forecast you can forward to the client — with its own hit rate attached
- Scope added after signature, named as it lands, so it becomes a change order
Engineering managers
You already know something is off. This says which thing.
- Stuck work and review bottlenecks, by name, before standup
- Whether the humans are keeping up with what the agents are writing
- Fewer status meetings — the brief did the reading for you
Fractional CTOs & VPs
Four clients, four boards, none of them yours.
- One portfolio read on which commitments are at risk this quarter
- The shared upstream cause across teams, not fifteen separate escalations
- Forecasts with a published track record instead of a confident tone of voice
It keeps score on itself. In public.
Every forecast KalMatrix shows you is written down. When the sprint closes, it is graded against what actually shipped — and forecasts that were reconstructed after the fact are labelled as such, so the scorecard can never take credit for a warning nobody was given.
When the evidence is thin, it says so rather than inventing a date. A quiet week is reported as a quiet week. Manufactured urgency would make the brief unreadable within a month.
This is not surveillance. It’s structural.
The fastest way to kill a tool like this is for one engineer to decide it is watching them. So the restraint isn’t a policy we promise — it’s the shape of the database.
No per-person AI usage
There is no field for it. The table that stores AI usage has no person column at all, so the report you are worried about cannot be written — not by us, not by your VP.
No source code, ever
Metadata only: titles, timestamps, line counts, changed filenames. Never file contents, never a prompt, never anything typed in an editor.
Names route, never rank
A person is named to answer “who do I ask about this”, never to score them. Bus-factor risk reads “1 of 6 engineers” — a structural fact about the org, not a verdict on anyone.
The short answers.
No. KalMatrix reads Jira and GitHub exactly as they are. Nothing to instrument, no new process, no fields anyone has to remember to fill in. If your team stopped using it tomorrow, their workflow would be unchanged.
Find out on Tuesday, not on Thursday.
Open the live demo and read a real delivery brief in the next thirty seconds. Or take one sprint, read-only, on your own data — if the forecast is wrong, you owe nothing.
Read-only scopes · One sprint · It grades its own call