A decision log for product teams that fills itself
Lockstep captures product decisions where they happen (Slack, Notion, Jira), asks the owner to approve each one with a click, and briefs every engineer and AI coding agent on the approved calls. When a pull request may conflict with one, it flags it before it ships.
The problem
At 25 to 100 people, product decisions stop fitting in one head. The call on guest checkout gets made in a Slack thread. The scope cut lands in a PRD comment. The pricing exception is agreed on a Jira ticket. Nobody files them, because filing loses to shipping every time, and a decision log in Notion starves within a quarter.
Then engineers build against the version they remember, and AI coding agents build against nothing at all: every session starts blank. You find out at review, or after launch, that the work no longer matches what was decided.
How Lockstep works for PMs
- Capture without filing. Lockstep reads the Slack channels, Notion docs, and Jira projects where your team decides (Slack is the most mature source; Confluence, Google Docs, and GitHub PRs are supported too) and drafts each decision with its reasoning and a link to the source.
- One-click approval. You get the draft in Slack or the dashboard. Approve, edit, or reject. Nothing counts until the owner says so.
- A trail from PRD to shipped. Rules approved from a PRD stay linked to the paragraph they came from, and merged pull requests are recorded against them, so you can see what was decided and what actually shipped.
- Engineers and agents briefed. Approved decisions reach engineers in the dashboard and AI agents like Claude Code and Cursor through the MCP
get_product_contexttool. - Drift flagged at the PR. When a change may conflict with an approved decision, the Lockstep check comments on the pull request. It warns by default; blocking is opt-in.
The full pipeline is on how it works.
What it is not
Not a wiki: nobody writes pages. Not a roadmap or task tracker: keep Jira or Linear for that. Not a replacement for your PRDs: it reads them. If you want a manual log instead, start with our decision log template, or compare options in Notion alternatives for product decisions. Side-by-side comparisons: Lockstep vs Notion and Lockstep vs Confluence.
Where we are
Lockstep is early stage and open source (Apache-2.0). Self-hosting is free; we run a hosted version for a small number of design partners while we onboard them.
Common questions
- Which tools help product managers on a 25-person team keep a log of decisions and the reasoning behind them?
- Most 25-person teams start with a Notion database or a Confluence page with a fixed template: verdict, reasoning, rejected options, owner. Those work while someone files every entry. Lockstep removes the filing: it drafts decisions with their reasoning from Slack, Notion, and Jira, and the owner approves each with one click.
- Do PMs have to change how they work?
- No. Keep deciding in Slack threads, PRD comments, and Jira tickets. Lockstep reads those tools and sends you a draft to approve. Nothing becomes binding until its owner confirms it.
- How does Lockstep tell engineers and AI agents about a decision?
- Approved decisions brief engineers in the dashboard and AI coding agents like Claude Code and Cursor through the get_product_context MCP tool, so a session starts already knowing the relevant calls.
- Does the PR check block merges?
- Not by default. It flags pull requests that may conflict with an approved decision and shows the decision it may break. Blocking is opt-in per repository.
- What does it cost?
- Lockstep is open source under Apache-2.0, so self-hosting is free. We run a hosted version for a small number of design partners; book a walkthrough to talk about fit.
Pricing and hosting
Self-host: free
Open source under Apache-2.0. Run it on your own infrastructure with docker compose up. Code on GitHub.
Hosted: design partners
While we're early, we run Lockstep for a small number of design partners. Book a walkthrough and we'll set your team up.