---
title: mattpocock-adr-title-slug-mismatch
description: Reports a canonical Architecture Decision Record whose filename slug does not match its H1 title.
---

[← All Rules](/rules/)

## What it does

Normalizes the record's single H1 with GitHub heading-slug semantics and reports it when the result differs from the filename's `slug` field.

## Why it matters

Matching titles and filenames keep record paths predictable from the decision name.

## Examples

### Non-passing

```md title="docs/adr/0001-other-title.md"
# Different title

We will record this decision.
```

### Passing

```md title="docs/adr/0001-use-http-2.md"
# Use HTTP/2!

We will use the newer protocol.
```

## When it applies

This is a declarative requirement of the `mattpocock@1` Profile. Selecting that Profile applies the requirement to canonical `adr` documents; it is not selected through the `rules` array.

## References

See [Presswork Configuration](/configuration/#mattpocock1) for canonical filenames and [`src/lib/slug.ts`](https://github.com/evilkiwi/presswork/blob/main/src/lib/slug.ts) for title normalization.
