docs: add web callback docs #2973
Open
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
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
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
Loading