lockstep
✦ Open source · any MCP agent · self-host or hosted →

Code tells you what changed. Lockstep tells you why it should exist.

Follow every important change back to the request, the evidence, the person who decided, and the approval that made it real. Then hand that context to every engineer and AI agent before they touch the code again.

Try it on one repo →
getlockstep.dev/demo

Reads from the tools where your company already decides

SlackJiraNotionGoogle DocsConfluenceGitHub PRsAI coding agents (Claude Code, Cursor)
SlackJiraNotionGoogle DocsConfluenceGitHub PRsAI coding agents (Claude Code, Cursor)
SlackJiraNotionGoogle DocsConfluenceGitHub PRsAI coding agents (Claude Code, Cursor)

The gap

Who wrote it is not why it exists.

A commit names a developer. An AI tool shows which model or prompt produced a line. Neither tells you whether the code matches the request, who made the call, or why the team chose this path.

What the tools already tell you

  • ✓Who committed it
  • ✓Which agent ran
  • ✓What prompt it received
  • ✓When the files changed

What the team still needs

  • →What request started it
  • →What evidence supported it
  • →Who owned and approved the decision
  • →What it replaced
  • →Whether it still applies

Six months later, the code remains. The reason is gone. Lockstep keeps the reason attached to the work.

A prompt explains one run. A decision explains why the code should still be there six months later. Lockstep keeps the team decision that survives the transcript, the model, and the people who made it.

Owned

A named person makes the call.

Supported

The source and evidence stay attached.

Current

New versions replace old calls without erasing them.

One real trail

Start with the code. Walk back to the reason.

Open an important change and answer every question without searching Slack, old tickets, and someone's memory.

  1. 1

    Code / PR

    Account creation moved after payment in PR #482.

    checkout.ts · identity-service

  2. 2

    Approved decision

    Guests should never be asked to create an account before payment succeeds.

    Binding · version 2

  3. 3

    Owner and approval

    Priya owned the decision. Checkout and Risk approved it.

    Approved Sep 12

  4. 4

    Evidence

    Requiring OTP before payment reduced guest conversion.

    Experiment CHK-118

  5. 5

    Original request

    Let shoppers complete checkout without creating an account.

    Guest Checkout PRD · paragraph 4

Go forward from the request to the code, or backward from the code to the reason.

How it works

One request, traceable through every change.

01

Capture

Rules stay linked to the exact spec sentence, message, ticket, or pull request.

02

Decide

The owner confirms the evidence and rejected options. AI drafts never bind themselves.

03

Brief

Every person and agent receives the decisions that apply before work starts.

04

Check

A conflicting pull request shows the decision and every affected team.

05

Keep true

Versions show what changed, what was replaced, and whether a call is still current.

The product proof

For any important change, answer six questions.

01

What request started this?

02

What evidence supported it?

03

Who made the decision?

04

Who approved it?

05

What did it replace?

06

Is it still true?

lockstep ask · checkout-web
$ lockstep ask "Why do we create the account after payment?"
Binding decision · v2 · owner Priya · approved by Checkout + Risk
OTP before payment reduced guest conversion. Account creation moved after payment.
Sources: Guest Checkout PRD ¶4 · Experiment CHK-118 · PR #482

For AI agents

Give agents the reason, not only the latest code.

An agent can read the repository and still miss the decision that shaped it. Lockstep briefs it on the approved rules for the work in front of it, including why each rule exists and what the team rejected.

It does not matter whether a human or an agent typed the line. What matters is whether it follows the team's approved decision.

session-start · checkout-web · claude-code
$ lockstep brief --impact 3 guest-checkout
Binding: Do not require account creation before payment.
Why: OTP before payment reduced guest conversion (CHK-118).
Replaced: Account required before checkout (v1).
Affected: checkout-web · risk-api · identity-service
agent › loaded 1 binding decision, 2 rejected options. Starting task.

One reason, shared

For the people and agents shipping the product.

Product leaders

See the request, the approved decision, and what engineering shipped in one trail.

Engineering leaders

Know why a rule exists and which teams a change will affect.

Founders

Stop being the only person who remembers why the company made the call.

Engineers

Change old code without rebuilding the original argument from stale threads.

AI agents

Start every task with the current decision and the reason behind it.

Built for trust

Read-only where work happens. Clear ownership in the record.

✓Only the sources you approve
✓Exact source links and paragraph anchors
✓Named owners and approvals
✓Full version history and audit trail
✓Project access controls
✓Open source and self-hostable

Questions

Understand the difference.

Is this Git blame for AI?+

No. Git blame and agent logs tell you who or what produced code. Lockstep records the approved decision behind the code: the request, evidence, owner, approval, and current version.

Is this another decision log or ADR tool?+

A decision log waits for someone to file a note. Lockstep connects decisions to the source they came from, the code they govern, and the people and agents that need them before work starts.

Is this agent-session memory?+

Session memory explains what one agent saw or tried. Lockstep keeps the team decisions that remain true across sessions, models, repositories, and people.

Who decides what becomes binding?+

People do. Lockstep can extract a draft, but a named owner or affected team approves cross-cutting decisions before they become binding.

How does a decision stay attached to code?+

Decisions name the paths, APIs, capabilities, and repositories they govern. Lockstep uses those links to brief agents and check pull requests.

What happens when the team changes its mind?+

The new decision gets a new version. The old one stays visible as replaced, so the team can see both the current rule and how it got there.

Pick an important change. Can your team explain why it exists?

Try Lockstep on one repo. Follow the change back to the request, the decision, the owner, and the approval behind it.

Want to read the code first? Lockstep is open source on GitHub →