# lema docs — Fusion: check the record before you build it

A model with your repo indexed knows what the code does. It can't recover why an alternative was argued and ruled out — that reasoning is never written into the code. Fusion answers it: name an approach against a covered project and learn whether it was already ruled out, with the recorded why-not, cited, plus a pointer to the project's own docs. A why-not is summarized from the record, not quoted.

## How it works

1. You — or your agent, via `check_approach` — name an approach against a covered project (React, Kubernetes, Rust, Vue, and Go over MCP; /fuse also serves Ethereum EIPs).
2. lema checks the project's recorded deliberation.
3. If the approach was ruled out, you get the cited why-not and a HOW pointer to the project's hosted docs for the current guidance.
4. If nothing was ruled out but the record holds the reasoning, the answer carries a cited `why` — the recorded rationale, kept distinct from a ruling.
5. If there is no recorded ruling, you get an explicit `no_recorded_ruling` — unknown, not approval.

## The typed context

`check_approach` returns a small, typed envelope — the same shape your agent receives:

```json
{
  "repo": "facebook/react",
  "approach": "<the approach you named>",
  "verdict": "ruled_out",
  "why_not": "<summarized from the record — never a verbatim quote>",
  "sources": [{ "n": 1, "ref": "<owner/repo#123>", "type": "rfc" }],
  "how": { "doc_home": "react.dev", "topic": "<where to read the current guidance>" }
}
```

This is an example shape; run a live check on /fuse for a real, cited result. Each rejection source carries a binding cosine — relevance, not confidence — measured per call, and omitted here rather than shown as a fixed number.

## Why it's different

Documentation tools carry the what — the current API and syntax. Reconstructing a why from a model is fluent and sometimes wrong. Fusion returns the project's actual recorded rejection, with a citation — the ruled-out alternative the code structurally can't show. lema owns the binding (the cited why-not); the docs pointer borrows the bytes.

## Honesty

- A why-not is summarized from the record, not quoted.
- The per-source number is a binding cosine — relevance, not confidence.
- `no_recorded_ruling` is first-class: it means unknown, not approval.
- lema never depicts a capability that doesn't fire on a real record. Fuse rulings covered today: React, Kubernetes, Rust, Vue, Go, and Ethereum EIPs.

## Try it

Name an approach on /fuse — React, Kubernetes, Rust, Vue, Go, or Ethereum EIPs, no signup — and see the live verdict. The same check is available to agents as the `check_approach` tool.
