Tracker · decision provenance for agent-built software

Know which parts of your software the agents designed.

The record of what your coding agents were asked, what they asked back, and what they decided on their own. One linked trail from your words to the commits and releases that shipped, with every decision marked by who made it.

Tracker overview of the Harbour sample: 42 decisions split into 11 human, 7 delegated, 10 inferred and 14 autonomous; 4 drifting; and an incident traced back to the human request behind it
  • Live at tracker.zagware.io
  • Works with Claude Code, Cursor, Codex, Gemini CLI, Copilot and omp
  • Read-only GitHub access
  • A record you can verify without trusting us
The problem

Agents now write a big share of the code. Nobody is keeping the minutes.

Coding agents make dozens of design calls nobody asked for: a cache here, a retention rule there, a database upgrade on a Tuesday. Git records what changed. Nothing records who decided.

The gap

Every tool records part of the story. None records who decided.

SourceWhat it tells youWhat it can't tell you
Git and pull requestsWhat changed, and who pushed itWhy, and whether a human ever asked for it
Agent chatWhat was said in one sessionAnything, once the session closes
Jira, LinearWhat humans plannedWhat agents decided while building it
ADRs, wikisThe decisions someone wrote downThe many more nobody wrote down
ObservabilityWhat broke in productionWhich unreviewed choice caused it

So when an auditor, a client or your own CTO asks "who decided that, and with what context?", the honest answer is usually "the agent, probably".

The product

One linked record, from your words to what shipped.

Humans own what and why. Only a person signed in to Tracker in a browser can state intent, answer questions or review decisions; no token can. Agents own how, and say so. They ask, decide and record it over MCP, and GitHub reports what shipped.

Intent · INT

Your goals and constraints, in your words, kept verbatim. An agent's restatement sits beside them and never replaces them.

Question · QST

A gap the agent won't fill alone, with options, a recommendation, and whether work waits for you.

Decision · DEC

A choice with its origin, rationale, alternatives, impact and reversibility.

Work · WRK

Epics, tasks and steps with acceptance checks. Agents keep it current; you read the roll-ups.

Shipped · CHG, REL

Commits, merged pull requests and deployments, arriving from GitHub and linked to the work they serve.

How it works

The loop: you state intent, agents ask or decide, GitHub reports what shipped.

1. You state intent

Write what you want and why in Tracker, or just say it to your agent: with the plugin hooks, your prompt is captured word for word and can be promoted to an intent.

2. The agent breaks it down

It restates your intent and turns it into work with acceptance checks, linked back to your words. Every session starts from a context pack holding everything binding on that work.

3. Where it is unsure, it asks

Questions land in your Inbox with options and the agent's recommendation. If a question is blocking, that work waits for you instead of guessing.

4. You answer

Pick an option, write your own answer, or press You decide to take the recommendation. Each answer is recorded as a decision: ● human or ◐ delegated.

5. Where it doesn't ask, it says so

Decisions it makes alone are recorded as ○ inferred or ◆ autonomous. The ones that matter wait for you to accept, or to override with a note the agents then follow.

6. GitHub reports what shipped

Commits, merged pull requests and deployments arrive through a read-only GitHub App, link to the work they name, and roll up to the intents they serve.

Origin

Every decision carries its origin.

The further from your own words, the more your review matters. Drift is an unreviewed autonomous decision that is high-impact or one-way: the number a CTO, an auditor or a client actually wants.

● Human

You said it, in an intent or an answer.

No review needed

◐ Delegated

You were asked and said "you decide".

Low attention

○ Inferred

The agent derived it from your words, with a pointer to them.

Spot-check

◆ Autonomous

The agent decided on its own.

Review by impact and reversibility

What you get

Review decisions, not diffs.

Nobody can read every diff an agent produces. You can review the handful of decisions that matter, if something surfaces them.

See who decided

Every decision is marked human, delegated, inferred or autonomous, so you know which parts of your system were, in effect, designed by agents.

Answer once, in one place

Agents' questions arrive in one Inbox with options and a recommendation, instead of scattered across chats you have to scroll back through.

Trace problems to their cause

Issues link to the change, the work and the decision behind them, and on up to the human words they came from.

Prove it

A hash-chained ledger with public signed checkpoints. A client or auditor can check it with their own tools, without trusting Tracker.

Use any agent

One MCP server and plugins for six agent tools. Each tool gets its own credential, so the record can tell your agents apart.

Hand over the why, not just the code

Every decision, who made it and the words it came from: a handover pack for clients and a starting point for whoever maintains it next.

Proof: the Harbour sample

A clinic booking system, built by agents from two people's intent.

Harbour is a public sample project: online booking, reminders and deposits for Seaview Physio, built by agents between July and October 2026. The data is illustrative, but everything in it is browsable exactly as a customer would see it, with no sign-in.

One intent reads "Patient data has to stay in Ireland." That is the kind of constraint an agent must not quietly trade away, and Tracker keeps it, verbatim, above every piece of work that touches patient data.

Then look at what the agents decided alone. An upgrade from Postgres 15 to 16 by replication cutover: high impact, one-way, unreviewed. A 60-second availability cache that later offered patients slots that had just been taken. Both are flagged as drift, which is what you would want to have seen before they shipped.

Proof: one incident, traced

Patient phone numbers ended up in the logs. Here's why.

ItemWhat the record shows
ISS-16A reviewer agent reports patient phone numbers written to the API logs
CHG-39Caused by: verbose request logging, added to debug failing text messages
WRK-57Produced by: the investigation into text messages failing for some numbers
ISS-12Which was fixing: reminders not delivered to some patients
● DEC-36Traced to a human decision: the SMS sender ID "SeaviewPhy"
● INT-5And the original ask: "Reminders to cut no-shows"
WRK-66Forward to the fix: redact phone numbers from the API logs

Seven steps from the bug to the human words behind it and on to the fix: a root-cause write-up an auditor or a client will actually accept. Walk it yourself.

Evidence you don't have to trust us for

A record an auditor can verify without trusting Tracker.

Hash-chained ledger

Every write — from the web app, an agent, the CLI or GitHub — is appended in full, and each entry hashes the one before. Edit one and every hash after it breaks.

Public signed checkpoints

Every day Tracker signs each project's ledger position and publishes it to a public GitHub repository. Rewriting history is detectable even if Tracker itself were compromised.

View the checkpoints repo

Context receipts

The exact context an agent was given is stored and hashed as a receipt, and cited on the decisions and commits it made with it. You can see what the agent knew when it decided.

Verified and claimed

Agents acting with a credential you issued, or signing commits with their registered key, are verified. A name in a commit trailer is only claimed. The record says which.

Check it yourself

trk verify

The trk CLI re-checks the chain, replays it against the project and checks every signed checkpoint, with its own code. The format is documented, so anyone can write their own verifier.

Shell
# online: chain, live data and checkpoints
trk verify <project>

# keep a copy for an auditor
trk verify <project> --save ledger.json

# offline, with files from the public checkpoints repo
trk verify --file ledger.json \
  --checkpoints checkpoints/<key>.jsonl --key keys/<id>.json

Read Evidence and audit for what the record proves and what it can't.

Works with

Your agents, your GitHub, alongside the tools you already use.

Agents reach Tracker through one MCP server. Plugins for Claude Code, Cursor, Codex, Gemini CLI, VS Code Copilot and omp add the rules agents follow and hooks that load context at the start of a session and capture your prompts. A read-only GitHub App reports commits, pull requests and deployments. Tracker sits beside Jira or Linear, not instead of them. Setting up Claude Code:

Shell
claude plugin marketplace add zagware/tracker-plugins
claude plugin install tracker@zagware-tracker
npm i -g https://tracker.zagware.io/downloads/trk.tgz
trk login                      # you, for the hooks
trk login --agent claude-code  # the agent, for what it records
trk use <project> [WRK-n]

Every tool's setup is in Connect agents.

Who it's for

Built for teams who get asked "who decided that?"

Usually bought by a CTO or head of engineering, championed by the lead developer already running Claude Code or Cursor, and often justified by compliance or the client.

Software agencies and consultancies

The pain: you build with agents for clients who ask why their system does what it does, and nobody can say whether a person or an agent chose it. The outcome: hand over every decision, who made it and the client's own words it came from — the handover pack and the dispute record in one.

Regulated teams building with agents

The pain: health, fintech and insurtech teams of 50 to 300 people, agent-heavy and audit-facing, with no one to govern it full time. The outcome: when the auditor asks how AI-written change is reviewed, show them the decisions, their origin and a ledger they can verify.

Small teams going agent-first

The pain: founders and tech leads running agents as most of the team, losing track of which choices were theirs. The outcome: keep the what and why, let agents own the how, and see where they decided alone.

Why now

Three pressures arrive at once.

Volume

Agentic tools went from novelty to default in a year. Teams now run several agents at once, each making design calls nobody asked for.

Review capacity

Humans can't read every diff any more. They can review the handful of decisions that matter, if something surfaces them.

Accountability

Auditors, clients and procurement questionnaires have started asking how AI-written change is governed. Most teams have no answer.

The landscape

Others log what agents did. Tracker records who decided.

ApproachAnchored to human intentOrigin per decisionHuman review loopAgent-neutral
Vendor agent logs and commit trailersNoNoPull request review onlyOne vendor
MCP gateways (tool-call audit)NoNoAllow or denyYes
Passive provenance from transcriptsInferredInferredNoPartly
Jira and ADRsYesOnly if writtenManualYes
TrackerVerbatimRecorded by the agentInboxMCP + six plugins
Straight answers

What people ask us

Won't GitHub or the agent vendors build this?

They'll log their own agent. Most teams run several tools, and a record kept by the vendor whose agent made the call is weak evidence. Tracker is neutral across agents, and its record can be verified without trusting Tracker either.

Will agents record their decisions honestly?

Not always, and Tracker doesn't pretend otherwise. It labels what it can't prove: agents named only in a commit trailer are claimed, not verified, and prompts captured on your machine are marked unverified. Agent credentials, signed commits and context receipts narrow the gap.

Does Tracker block my agents?

No. It records and surfaces. Blocking happens only where an agent itself decides a question is blocking and waits for your answer.

Nobody will clear another inbox.

The Inbox shows only what needs a person: blocking questions first, then autonomous decisions ranked by impact and reversibility. Low-impact, easily reversed choices don't need you, and the ones that do are the ones you'd want to know about anyway.

We already write ADRs.

ADRs capture the decisions someone chose to write down. Agents make many more, and Tracker records them as they're made, with their origin and a link back to the words they came from.

Our code can't go to a SaaS.

Tracker's GitHub App has read-only access to metadata, contents, pull requests and deployments. Agent session transcripts never leave your machine; only their SHA-256 is sent. Projects are private by default.

Is this EU AI Act compliance?

No, and we won't claim it. Tracker is evidence for change management, client questions and audit questions about AI-written change.

What can't it prove?

Prompts captured by a local tool are unverified, because an agent on the same machine could read the token. A project's ledger history starts when the ledger began on 27 October 2026; what came before is a snapshot it can show but not prove.

We're not that agent-heavy yet.

Fair. Start with one project. The record is most valuable from day one, since history from before you start recording can't be proven afterwards.

More in the Tracker docs, or ask us.

Design partners

Put one real project into Tracker for 90 days.

We're working closely with a small number of teams building with agents. You bring one real project; we set it up with you and review the Inbox with you every week.

AreaWhat you getWhat we ask
ScopeOne real project, a handful of people, unlimited agentsA named owner who clears the Inbox weekly
SupportFounder-led setup in one session, and a weekly 30-minute reviewHonest feedback, including "we stopped using it"
EvidenceA 90-day "who decided" report on your own projectPermission to quote anonymised numbers
ReferenceEarly access to client-view sharing for agenciesA case study or reference call, if it works for you

Know which parts of your software the agents designed.

Browse the live sample with no sign-in, or tell us about the project you'd put in first and who would clear the Inbox.