> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.livingbrain.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.livingbrain.com/_mcp/server.

# Brain health

Every brain has three health scores, each from 0 to 100. They describe the state of the brain as a
whole. **Freshness** says whether it's being kept up to date, **Readiness** whether an agent can rely
on it today, and **Strain** how much work is waiting on someone. Higher is better for Freshness and
Readiness, and lower is better for Strain.

**`TypeScript`**

```typescript TypeScript
const score = await client.workspace.getScore({ brainId });

for (const metric of [score.freshness, score.readiness, score.strain]) {
  console.log(metric.label, metric.score, metric.status);
  for (const f of metric.factors) console.log("  ", f.label, f.value, f.unit);
}
```

**`Python`**

```python Python
score = client.workspace.get_score(brain_id=brain_id)

for metric in (score.freshness, score.readiness, score.strain):
    print(metric.label, metric.score, metric.status)
    for f in metric.factors:
        print("  ", f.label, f.value, f.unit)
```

Each metric comes with its `factors`, the inputs that produced it, so you can show a user why a score
moved. `scoreHistory` returns the last 7, 30 or 90 days, and `scoreSuggestions` returns concrete next
steps.

## What moves each score

| Score                        | What raises it                                                                                                     | What lowers it                                                                                                                |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **Freshness**                | Recent captures that finish compiling, and page changes                                                            | Time passing with nothing added. A brain people stop feeding goes stale even when every page is still correct                 |
| **Readiness**                | More pages, searchable pages, a filled-in profile                                                                  | Failed sources and unresolved contested pages                                                                                 |
| **Strain** (lower is better) | Failed sources, a compile backlog, contested and deprecated pages, changes and connections nobody has acknowledged | Retrying or removing failed sources, [resolving contested pages](/docs/pages), acknowledging the [change feed](/docs/changes) |

Recent activity counts for more than old activity, and the first few captures move a score the most.
Filling in the [profile](/docs/concepts#brain-profile) can raise Readiness without adding a page.

## What the scores don't tell you

Health scores summarise activity and workload. They don't measure whether the brain's answers are
correct. A brain can score 95 on Readiness and still be missing the one page a question needs. To see
how well a brain answers questions, see [Benchmarks](/docs/benchmarks).