Skip to content

Quality and observability (SRC-1397) ​

Source: owner chat 14.10.2026 (SRC-1397). Goal: find a broken page or API before a parent does, and spend fewer CI minutes doing it.

The five parts ​

PartWhat it doesDocStatus
SentryError and exception reporting for the web apps and workers, with a release tag per deploysentry.mdDone in code, needs owner account and secrets
Context7Current library docs for every Claude session via MCP, so code matches the pinned version, not model memorythis page and .claude/rules/library-docs.mdDone: .mcp.json entry and rule
Selective E2ERun only the Playwright specs a change affects on PRs (import graph aware); full suite on nightly/* PRs and on main unless the PR already ran it on the same treee2e-select.mdDone
Synthetic checksScheduled probes of key production URLs and API endpoints, after deploy and on a timersynthetic-checks.mdDone in code, version checks need two owner tokens
RUMReal-user Core Web Vitals (LCP, INP, CLS) via web-vitals, written to Workers Analytics Enginerum.mdDone in code, needs Analytics Engine token

Context7 ​

.mcp.json at the repo root declares the remote MCP server context7 (https://mcp.context7.com/mcp), so every Claude Code session on this repo, local or cloud, gets it. No key is committed: the header reads the environment variable CONTEXT7_API_KEY, and the server works without a key at a lower rate limit. The rule .claude/rules/library-docs.md tells sessions to query it before using or upgrading motion, shadcn/Radix, Tailwind v4, Remotion, HyperFrames, wrangler, @sentry/*, web-vitals, Playwright or vitest.

Owner setup checklist ​

  • [ ] Create a free Sentry account and one project; turn on Prevent Storing of IP Addresses and Data Scrubber in its Security & Privacy settings; then add GitHub secrets SENTRY_DSN, VITE_SENTRY_DSN, SENTRY_AUTH_TOKEN, SENTRY_ORG and SENTRY_PROJECT (details in sentry.md).
  • [ ] Create a Cloudflare API token with Account Analytics read access for Workers Analytics Engine queries; set it as the Worker secret RUM_SQL_TOKEN on nemo12-api (details in rum.md).
  • [ ] For the deployed-version checks, set two nemo12-api secrets: SYNTHETIC_CF_TOKEN (Cloudflare, Workers Scripts Read) and SYNTHETIC_GITHUB_TOKEN (fine-grained, Contents Read on this repo); details in synthetic-checks.md. The GitHub token expires: note its renewal date.
  • [ ] Optional: get a Context7 API key and export CONTEXT7_API_KEY in your shell or cloud environment for a higher rate limit.