You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of epic #8286 (Phase 4 — Sunset). Gated: do not start until every gate below is green. Mirrors JSONbored/metagraphed#7766.
Gates (all required before any removal)
No fixed bake clock (pre-launch, low traffic) — the gate is demonstrated capture, not elapsed time:
All six Phase-1 error-tracking sub-issues closed and capturing in production (or capture forced via representative failures per surface where real traffic is too quiet — document the forced-failure verification per surface here).
Side-by-side review: no error class present in Sentry that PostHog missed over the overlap window — compare issue lists explicitly, record the comparison here.
PostHog alert routing live (insights/alerts sub-issue at least through error alerting + the five cron-heartbeat no-data alerts).
OTel bridge decision recorded here before removal: removing @sentry/node/@sentry/opentelemetry also removes buildSentryOpenTelemetryBridge and the SentrySpanProcessor path (src/selfhost/otel.ts, src/selfhost/tracing.ts). Self-host OTLP export is vendor-independent and stays; the question is whether losing the Sentry span sink before PostHog tracing GA is acceptable (see the tracing-deferral sub-issue). Decide explicitly, don't discover it in a diff.
Removal checklist (repo side)
src/selfhost/sentry.ts + init wiring in src/server.ts (console-wrap forwarding moves to the PostHog sink); SENTRY_MIN_SEVERITY/SENTRY_REPO_MIN_SEVERITY renamed to vendor-neutral names with back-compat handling decided here.
@sentry/hono middleware + WORKER_SENTRY_* from src/api/routes.ts/src/env.d.ts.
packages/loopover-miner/lib/sentry.ts, LOOPOVER_MINER_SENTRY_* (with a deprecation note in the miner changelog — published CLI, operators have configs), egress-allowlist Sentry-host entry.
discovery-index + review-enrichment: sentry modules, @sentry/cli pipelines, both repos' validate-sentry-release/validate-sourcemaps scripts (already repointed; delete the Sentry halves).
apps/loopover-ui/src/lib/browser-sentry.ts, VITE_SENTRY_DSN, .github/workflows/ui-sentry-release.yml, SENTRY_BUILD_SOURCEMAPS in vite.config.ts; check release-selfhost.yml for Sentry references.
Generated artifacts: npm run selfhost:env-reference + npm run miner:env-reference regenerated; npm run cf-typegen if Worker vars change.
Docs/comments sweep: grep -ri sentry across the repo (dozens of file headers document the Sentry architecture); update the self-host + miner deployment docs.
Sentry MCP connector removed from tooling configs once the projects are gone.
Sentry secrets deleted from every deploy surface (self-host docs note, Worker secrets, container secrets, CI).
Final Sentry account/project deletion is performed personally by the maintainer once real errors are visibly flowing in PostHog — never by a PR or automation. Note: discovery-index reports into the metagraphed Sentry project — coordinate that removal with metagraphed's own sunset timing (JSONbored/metagraphed#7766) rather than this repo's.
Acceptance
Zero Sentry references in the repo; production error visibility fully served by PostHog; the side-by-side comparison written up here.
Part of epic #8286 (Phase 4 — Sunset). Gated: do not start until every gate below is green. Mirrors JSONbored/metagraphed#7766.
Gates (all required before any removal)
No fixed bake clock (pre-launch, low traffic) — the gate is demonstrated capture, not elapsed time:
@sentry/node/@sentry/opentelemetryalso removesbuildSentryOpenTelemetryBridgeand theSentrySpanProcessorpath (src/selfhost/otel.ts,src/selfhost/tracing.ts). Self-host OTLP export is vendor-independent and stays; the question is whether losing the Sentry span sink before PostHog tracing GA is acceptable (see the tracing-deferral sub-issue). Decide explicitly, don't discover it in a diff.Removal checklist (repo side)
src/selfhost/sentry.ts+ init wiring insrc/server.ts(console-wrap forwarding moves to the PostHog sink);SENTRY_MIN_SEVERITY/SENTRY_REPO_MIN_SEVERITYrenamed to vendor-neutral names with back-compat handling decided here.@sentry/honomiddleware +WORKER_SENTRY_*fromsrc/api/routes.ts/src/env.d.ts.packages/loopover-miner/lib/sentry.ts,LOOPOVER_MINER_SENTRY_*(with a deprecation note in the miner changelog — published CLI, operators have configs), egress-allowlist Sentry-host entry.@sentry/clipipelines, both repos' validate-sentry-release/validate-sourcemaps scripts (already repointed; delete the Sentry halves).apps/loopover-ui/src/lib/browser-sentry.ts,VITE_SENTRY_DSN,.github/workflows/ui-sentry-release.yml,SENTRY_BUILD_SOURCEMAPSinvite.config.ts; checkrelease-selfhost.ymlfor Sentry references.@sentry/cloudflare/@sentry/hono/@sentry/node/@sentry/opentelemetry, miner@sentry/node, discovery-index@sentry/cli+@sentry/node, UI@sentry/react. Bundle sizes re-measured (expect wins).npm run selfhost:env-reference+npm run miner:env-referenceregenerated;npm run cf-typegenif Worker vars change.grep -ri sentryacross the repo (dozens of file headers document the Sentry architecture); update the self-host + miner deployment docs.Final Sentry account/project deletion is performed personally by the maintainer once real errors are visibly flowing in PostHog — never by a PR or automation. Note: discovery-index reports into the metagraphed Sentry project — coordinate that removal with metagraphed's own sunset timing (JSONbored/metagraphed#7766) rather than this repo's.
Acceptance
Zero Sentry references in the repo; production error visibility fully served by PostHog; the side-by-side comparison written up here.