lockstep

Lockstep vs Swimm

Swimm keeps documentation coupled to the code; Lockstep keeps code coupled to the decisions made outside it: in Slack, PRDs, and tickets. They solve adjacent problems: Swimm answers 'how does this code work?', Lockstep answers 'what did we decide, and is this change about to violate it?'.

What Swimm is good at

Swimm keeps code-coupled documentation up to date as the code changes.

Where Lockstep is different

Swimm documents the code; Lockstep captures the product and architecture decisions made across Slack, Jira, Notion, Docs, and PRs, makes them binding, and enforces them against both engineers and AI coding agents.

Swimm vs Lockstep at a glance

SwimmLockstep
Source of truthThe code and docs coupled to itDecisions made in Slack, PRDs, tickets, and PRs
Question it answersHow does this code work?What did we decide, and does this change violate it?
Staleness modelDocs update when coupled code changesDecisions bind on confirmation; conflicting PRs get flagged
AI agent roleAgents can read the docsAgents are briefed pre-session and checked at the PR
Pricing / hostingNo public price list; engagements start with a scoping callOpen source (Apache-2.0); self-host free, or hosted for design partners
Self-hostingOn-premise supported, including air-gapped environmentsYes: docker compose up runs Postgres, the API, and the dashboard

Swimm facts checked against: Swimm pricing, Swimm homepage.

When to use each

They aren't mutually exclusive. Keep Swimm for code documentation; add Lockstep as the layer that captures the decisions automatically, makes them binding, briefs engineers and AI coding agents on them, and flags work that conflicts. See the full pipeline.

How Swimm and Lockstep work together

Swimm and Lockstep start from different places. Swimm works from the codebase itself (its site now describes mapping existing systems and preparing them for AI agents); Lockstep works from the conversations and documents where decisions get made. A team can run both without either stepping on the other.

  1. Use Swimm for what it covers: understanding how existing code works.
  2. Connect Lockstep to Slack, Jira, Notion, and GitHub PRs; it drafts the decisions made there, each anchored to its source.
  3. Owners confirm each decision in one click, and agents are briefed via get_product_context alongside whatever code context they already have.
  4. The PR check flags changes that conflict with a binding decision. It warns by default; blocking is opt-in.

One decision, both ways

Illustrative example: Payment retries are capped at 3 attempts.

In Swimm

Documentation of how the retry loop in the payments worker works, kept in step with that code. It explains the loop; it doesn't record that the cap was a deliberate call.

In Lockstep

The decision behind the loop ('cap payment retries at 3', agreed in #payments), confirmed by its owner, briefed to an agent asked to make retries more resilient, and flagged at the PR if the cap is raised.

Adding Lockstep next to Swimm

There is no overlap to migrate. Install the CLI (npm install -g lockstep-cli), run lockstep onboard in the repo, and connect your decision sources, starting with Slack. Because Lockstep stores decisions and their source anchors rather than your source code, it doesn't duplicate anything Swimm builds from the code.

Frequently asked questions

Do Swimm and Lockstep overlap?
Barely. Swimm is code documentation that stays fresh as code changes. Lockstep is a decision record captured from the tools where decisions actually happen. A team can genuinely want both: Swimm for how-it-works, Lockstep for what-was-decided.
When is Swimm the better choice?
When the pain is onboarding and code comprehension: engineers can't understand existing code, and docs rot. If decisions aren't getting lost and agents aren't shipping against them, Swimm addresses the sharper problem.
Can Lockstep document my codebase?
No, and it doesn't try. Lockstep never stores your source; it records decisions and their source anchors, briefs the people and agents touching affected code, and checks PRs for collisions with what is binding.
Swimm's site now talks about modernization services. Does that change the comparison?
It sharpens it. As of October 2026, swimm.io describes engagements that map existing systems and prepare them for AI agents, with its experts verifying the result. Lockstep is an open-source tool your team runs to capture its own decisions and check PRs against them. Check Swimm's site for its current scope.
Can both run on-premise?
Yes. Swimm states it can run on-premise, including air-gapped environments, with your own LLMs. Lockstep is Apache-2.0 and self-hosts with docker compose up.

Related reading

More comparisons