✦ Now onboarding design partners →

Your company makes decisions all day.Your AI agents never hear them.

Your people forget them too.

Lockstep captures every decision from Slack, Jira, Notion, Google Docs, and PRs, gets each one approved with a click, briefs every engineer and every agent — and catches drift before it ships.

How it works →
GitHubpayments: switch refunds to async batch✓ approved
NotionGuest flow must not ask OTP before payment
SlackShip guest checkout without account creation
every agent starts already knowing
arjun@product-service
$ claude
⚠ approved · "The guest flow must not ask for OTP before payment." (POST /payments/init)
> starting work — already briefed ✓

Captures decisions from the tools you already use

SlackJiraNotionGoogle DocsConfluenceGitHub PRsClaude Code / MCP agents
SlackJiraNotionGoogle DocsConfluenceGitHub PRsClaude Code / MCP agents
SlackJiraNotionGoogle DocsConfluenceGitHub PRsClaude Code / MCP agents
Step 1

No one files anything.

Captured automatically from Slack, Jira, Notion, Google Docs, Confluence, PRs, and agent sessions.

Step 2

Nothing becomes official on its own.

One click, dashboard or right inside Slack.

Step 3

Every engineer and every agent starts already knowing.

Briefed before anyone, human or AI, touches the code.

Step 4

You find out before it ships. Not after.

Flagged to both sides; can block the merge when you're ready.

Ship guest checkout without account creation
Guest flow must not ask OTP before payment
payments: switch refunds to async batch

capture — six sources feed one record. Nobody filed anything.

Watch the loop run.

A real PRD rule, from written to enforced. Real product UI, simulated data.

One record. Both sides of the building.

PMs see what got built. Engineers and agents see what was decided.

Guest Checkout — PRDApproved
Guests can complete checkout without an account3 decisions✓ built
The guest flow must not ask for OTP before payment.2 decisions⚠ conflict
Guest sessions are signed cookies, 24h expiry1 decision✓ built
Fall back to full auth only after payment succeeds2 decisions✓ built

3 of 4 requirements have implementing work

What the PRD says vs. what got built — live.

The guest flow must not ask for OTP before payment.
capability: guest-checkoutPOST /payments/initNotion ↗draft
Guest sessions are signed cookies, 24h expiry
capability: guest-checkoutPOST /sessionsSlack ↗draft

Approve, edit, or reject — with the source attached.

arjun@product-service — agent session
$ claude
⚠ approved · Guest Checkout PRD — "The guest flow must not ask for OTP before payment." (POST /payments/init)
> implementing guest checkout — skipping OTP on /payments/init per approved rule ✓

Every agent session opens with the rules that govern it.

The guest flow must not ask for OTP before payment.
capability: guest-checkoutPOST /payments/initNotion ↗✓ approved
All payment initiations now require an OTP challenge (fraud rule).
capability: fraud-rulesPOST /payments/initPR #684 ↗✓ approved
may conflict — review both

Two teams, one surface — both sides see it.

Lockstep: constraint conflict on POST /payments/initDetails

lockstep[bot] — this PR's change to POST /payments/init may conflict — review both: The guest flow must not ask for OTP before payment.

The check that stops drift at the merge.

Nothing changes for your team.

No new tool to adopt. No process to follow. Nobody files anything — Lockstep reads from where work already happens.

Slack DMwrites: comments only
PR commentwrites: comments only

Read-only connections

We never write to your tools' data or statuses.

Allowlisted sources only

Lockstep reads exactly the channels and docs you point it at.

Secrets redacted

Tokens, keys, and credential-shaped strings are stripped before anything is stored or sent to a model.

Full audit trail

Every capture, approval, and alert is logged.

Per-project access walls

Walled projects are visible to their members only.

“Lockstep remembers — and enforces — from the tools you already use.”

Every wiki, ADR log, and decision register died the same death: someone had to file things. The moment writing it down became a chore, the record fell behind reality and a record that's behind reality is worse than no record at all.

AI agents made this fatal. An engineer who missed a decision asks in Slack. An agent that missed a decision ships code against it at machine speed, in ten repos at once. The cost of unwritten context didn't grow — it compounded.

So we built the record that files itself. Captured where decisions already happen, approved by the person who owns them, delivered to every human and every agent before they touch the code — and enforced when someone drifts anyway.

— the Lockstep team

We're onboarding a small number of design partners.

Book a 20-minute walkthrough. Built for teams where PMs write PRDs and AI agents write code.