watch it happen

◐proven end-to-end on stage 2026-06-12

Two decisions. About four clicks. Zero typing.

You make exactly two judgment calls — sign in and point at a repo. Every click below is a consent screen, counted honestly. Everything else is the app's job: the workspace, the import, the linking, the first answer.

decisions 2clicks ≈4 (all consent)typed characters 0your time ~2 min, then the app works
1decision 1 click 1

Continue with GitHub.

One button. Your org is provisioned the instant you sign in — no setup form, no “create a project” wizard, nothing to name.

lema.sh/login
Continue with GitHuborg auto-provisioned · nothing to configure

↑ real stage capture (2026-06-12 walk) replaces this frame in production

2decision 2 clicks 2–4

Point it at a repo.

GitHub's own consent screens — named as such, because that's what they are. You pick the repo; GitHub asks permission; that's the whole job.

github.com/apps/lema
Install & Authorize lema on:⬡ acme/payments-apiInstall & AuthorizeGitHub-owned consent · read-only on code

↑ real stage capture (2026-06-12 walk) replaces this frame in production

3the app works 0 clicks

The import runs while you don’t watch it.

Decisions and claims tick up per source, live. If we truncate, we say so on the page — and email you when first wisdom is ready, so nobody babysits a progress bar.

lema.sh/w/payments-api — importing
974
claims extracted
49 decisions minted · 11 auto-links
adr markdown41/41 files
pull requests200 of 1,847
issues500/500 newest
commits200/200 newest
△Imported the newest 200 of 1,847 PRs. The cut is stated here and stays on your workspace statline — full-history backfill is a Pro switch, not a surprise.

↑ real stage capture (2026-06-12 walk) replaces this frame in production

4wisdom arrives 0 clicks

First wisdom is waiting — cited, or honestly absent.

The workspace opens on a synthesis of what your repo argued about, every sentence cited. On a thin repo it shows the gap ledger instead — what you decided in practice but never wrote down — because a gap is honest wisdom and a restated index is not.

lema.sh/w/payments-api
first wisdom · synthesized from your record

Why is the ledger service split from the monolith?

Split in 2024 after the double-write incident: audit writes require serializable transactions the shared pool couldn't guarantee under load.1 Re-merging was argued twice and ruled out both times — the compliance boundary is load-bearing.2

⊘ ruled out — do not reopen
×Re-merge into monolith — kills the audit isolation that passed SOC 2. ADR-0019 · PR #412

↑ real stage capture (2026-06-12 walk) replaces this frame in production

⎘ receipts

One real walk, receipts attached — not an average. A fresh identity did exactly this on 2026-06-12: connected a fork of mozilla/fxa, watched a ~50-minute import, and landed on 49 decisions · 974 claims · 11 auto-links — then asked why, and got citations. The frames above are placeholders for that walk's real captures.

two doors, one graph

Hosted does the work. Local never needs permission.

Hosted

◐early access
✓Sign in, point at a repo — the app imports, links, and synthesizes while you do something else.
✓Ask, cited— “why did we choose X?” answered from your own record, with the ruled-outs attached.
✓Your agents on the same graph — hosted MCP serves verdicts to every session.
✓Truncation stated, completion emailed — the lazy path is the honest path.
Connect a repo — free →

Local

●shipping today
✓One command, no account — every file it writes is listed and yours to read.
✓Claims served as ≤240-char pointers — never documents dumped into context.
✓One-tap capture the moment you correct the agent — chosen is what you did, rejected is what it proposed.
+ .mcp.jsonserver entry
+ AGENTS.mdask-first rules
+ .lema/hooks/PreToolUse gate

Everyone else hands your AI a filing cabinet; lema hands it the verdicts — and the map to the cabinet, opened only on demand. The two doors share one graph and one rule of identity:

sign-in is for humans · lema_live_ keys are for agents

nothing local is ever crippled.

don't lose the why

Don't lose the why. Ask the repo.

Run a real “why” query on React, Kubernetes, Rust, Vue, or Go right now — no account, no import. Or run it local in ten minutes. Both doors lead to the same graph.

Try it now — no login
● try it · no account · React, Kubernetes, Rust, Vue, Go◐ connect your repo — early-access, opening as hardening completes