lockstep

One source of truth forevery decision.

Lockstep captures decisions from Slack, Notion, Jira, and your pull requests — so every person, and every AI agent, works from the same record.

How it works →

open source · works with any MCP agent · self-host or hosted

Simulated data · Music: Kevin MacLeod, incompetech.com (CC BY 4.0)

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)

One decision, followed for a year.

Plan. Decide. Build. Ship. Remember.

Guest Checkout PRDIn review

Notion · edited by Priya · just now

Goal: let shoppers complete checkout without creating an account.

Guest checkout must not ask for a login code before payment.

Ask guests to create an account only after payment succeeds.

Guest checkout must not ask for a login code before payment.
capability: guest-checkoutPOST /payments/initNotion ↗draft

extracted · anchored to its paragraph · waiting for Priya to approve

capture · a spec becomes draft rules, anchored to their paragraphs.

Prefer prose? The two-minute version →

What you own after a year.

A ledger of every call, why it was made, and what's no longer true — readable by your next hire and your next agent.

The decision pack

One command compiles the ledger into a per-project skill file: principles, binding decisions with why-and-rejected, approved product rules, and a “no longer true” list. Any agent that reads skills can load it — and the briefing nudges you when it goes stale.

It maintains itself

Weekly digests go to project leads. Decisions carry review dates that nudge when due; launch-gate constraints expire instead of rotting. Ask the ledger in plain English — paraphrases find decisions by meaning, with the original reasoning attached.

Your next hire starts with a year of context

A new engineer’s first session opens with everything the team ever settled, ranked by impact — the things everyone else learned the hard way, briefed in the first minute.

$ lockstep pack
SKILL.md · guest-checkoutgenerated · gitignored

## Principles

- Guests never re-enter data they already gave us.

## Binding decisions

- Guest checkout must not ask for a login code before payment.

- Why: OTP before payment killed guest conversion.

- Rejected: OTP-first flow.

## Approved product rules

⚠ [approved · Guest Checkout PRD] Ask guests to create an account only after payment succeeds.

## No longer true

- Checkout requires an account before payment.

compiled from the ledger · refreshed when the briefing says it's stale

Capture from everywhere.

Decisions happen in five tools before lunch. They all land in one record.

From Slack

Durable decisions get pulled out of allowlisted channels, usually within a minute or two — the chatter stays behind.

Refunds over $500 need manual review

#ops-payments · drafted from a thread

read-only · allowlisted sources · nothing written back

One record. Both sides of the building.

Product writes it. Engineering ships it. Agents follow it.

Product leaders

Your spec stays true after you write it.

See what got built next to what you wrote, and hear first when the two diverge.

Lockstep for product leaders

Engineering leaders

Every engineer starts briefed.

Conflicts surface in code review, not in the postmortem.

Lockstep for engineering leaders

Founders

Monday's call still holds in Friday's release.

One memory for what the company decided, without you re-explaining it in every room.

Lockstep for founders

AI agents

Every session opens already briefed.

Any MCP agent reads the binding decisions that apply before it writes a line.

Lockstep for ai agents

Nothing changes for your team.

Read-only, allowlisted, and open source.

Read-only connections

It can look, not touch. Never edits your messages, docs, or tickets.

Allowlisted sources only

It reads only the channels and docs you point it at.

Secrets redacted

Credentials are stripped before anything is stored.

Full audit trail

Every capture, confirmation, and alert is logged.

Per-project access walls

Walled projects are members-only, enforced in the database.

Open source under Apache 2.0 — self-host it, and your decisions never leave your company.

Read the code on GitHub →Security in depth →

Writing code stopped being the bottleneck. Agreeing on it didn't. Lockstep is the source of truth a team of humans and agents can finally share.

— The Lockstep team

Questions, answered.

What is Lockstep?

Lockstep is one source of truth for your company's decisions. It captures them automatically from Slack, Notion, Jira, and pull requests, gets each one confirmed by its owner, and delivers them to every person and AI agent before work starts.

Is Lockstep another documentation tool?

No. Docs give you a place to write things down; Lockstep writes decisions down for you and keeps them true. Nobody files anything, and the record never lags reality.

Do we have to change how we work?

No. Lockstep reads from the tools your team already uses, and approving a decision is one click in Slack or the dashboard.

How do AI agents get our decisions?

Through a briefing at session start: any MCP-compatible agent — Claude Code, Cursor, and others — pulls the binding decisions that apply to its task before it writes code.

Does Lockstep block anything?

Not by default. It is advisory: it flags a pull request that may conflict with a binding decision, with the decision and its impact attached. Blocking is opt-in, per project.

What does Lockstep read, exactly?

Only allowlisted channels, docs, and projects, read-only. Credentials are redacted before anything is stored, and every capture is logged in an audit trail.

How fresh is the record?

Near-real-time. A decision made in an allowlisted Slack channel typically reaches the review queue within a minute or two, and a merged pull request records its changes — verified against the actual diff — the moment it lands. The record doesn't wait for a nightly sync.

What happens to a decision after it ships?

The ledger keeps working: merged PRs write verified changes back, the PRD is checked against what actually got built, weekly digests go to project leads, and decisions carry review dates so old calls get a human look instead of silently rotting.

Can our agents use the record without a network call?

Yes. One command compiles the ledger into a per-project decision pack — a standard skill file with the binding decisions, the reasoning, the rejected alternatives, and what's no longer true. Agents load it like any other skill, and the session briefing nudges when it's stale.

Who is Lockstep for?

Any company where product and engineering ship together. It is built first for teams where AI agents write the code, because that is where a forgotten decision costs the most.

See it on your own repos and your own Slack.

We're onboarding a small number of design partners — we set Lockstep up on your tools, you ship with it, your feedback steers the product.

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