Skip to content

docs: add web callback docs

d8a38d9
Select commit
Loading
Failed to load commit list.
Open

docs: add web callback docs #2973

docs: add web callback docs
d8a38d9
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed May 19, 2026 in 6m 2s

Code review found 2 potential issues

Found 6 candidates, confirmed 2. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 2
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit content/docs/observability/features/web-callbacks.mdx:1-7 Inconsistent casing between title, sidebarTitle, and H1
🟡 Nit content/docs/observability/features/web-callbacks.mdx:91-93 Minimal receiver example does not actually validate the payload

Annotations

Check warning on line 7 in content/docs/observability/features/web-callbacks.mdx

See this annotation in the file changed.

@claude claude / Claude Code Review

Inconsistent casing between title, sidebarTitle, and H1

The frontmatter `title` is 'Web callbacks' (lowercase c) and the H1 matches, but `sidebarTitle` is 'Web Callbacks' (uppercase C) — an internal inconsistency on a single page. All 19 sibling feature docs in this folder keep `title` and `sidebarTitle` in matching casing, and the configuration steps later in this file refer to 'Web Callbacks' (Title Case), so aligning all three (title, sidebarTitle, H1) to 'Web Callbacks' would match the established convention.

Check warning on line 93 in content/docs/observability/features/web-callbacks.mdx

See this annotation in the file changed.

@claude claude / Claude Code Review

Minimal receiver example does not actually validate the payload

The prose on line 93 says "This example validates the payload shape and acknowledges the callback", but the receiver code does not actually validate anything — `const payload = JSON.parse(body) as WebCallbackPayload` is a TypeScript type assertion with zero runtime effect (no `version === 1` check, no `items` array check, no field/type checks). This is reinforced by line 145 which then advises "For production... validate the request body", implying the example does not. Either soften the prose t