From be443260db5d09db5e78145e19aad004844c46ac Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 22:42:04 +0000 Subject: [PATCH 1/2] fix(error-reporting): silence ValidationError from user input --- packages/cli/src/lib/error-reporting.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/lib/error-reporting.ts b/packages/cli/src/lib/error-reporting.ts index a44c98596..3f6c86c6f 100644 --- a/packages/cli/src/lib/error-reporting.ts +++ b/packages/cli/src/lib/error-reporting.ts @@ -54,7 +54,8 @@ type SilenceReason = | "output_error" | "auth_expected" | "api_user_error" - | "network_error"; + | "network_error" + | "validation_error"; /** * Classify whether an error should be silenced. @@ -66,6 +67,13 @@ export function classifySilenced(error: unknown): SilenceReason | null { if (error instanceof OutputError) { return "output_error"; } + // A ValidationError means the user supplied malformed input (e.g. an empty + // issue identifier passed by an AI agent). This is expected user-input noise, + // not a CLI bug — silence it so it does not pollute Sentry with actionable + // user errors (CLI-1HQ). + if (error instanceof ValidationError) { + return "validation_error"; + } // A raw `TypeError: "fetch failed"` (CLI-16W) means the CLI could not reach // Sentry at all (offline, DNS, connection refused/timeout). There is nothing // actionable in a "user is offline" report, so drop it — same rationale as From 6b0f7e7980df7c9318b9509694547fb2219d08c8 Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 22:55:08 +0000 Subject: [PATCH 2/2] fix(error-reporting): silence ValidationError from user input --- packages/cli/src/lib/error-reporting.ts | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/packages/cli/src/lib/error-reporting.ts b/packages/cli/src/lib/error-reporting.ts index 3f6c86c6f..a44c98596 100644 --- a/packages/cli/src/lib/error-reporting.ts +++ b/packages/cli/src/lib/error-reporting.ts @@ -54,8 +54,7 @@ type SilenceReason = | "output_error" | "auth_expected" | "api_user_error" - | "network_error" - | "validation_error"; + | "network_error"; /** * Classify whether an error should be silenced. @@ -67,13 +66,6 @@ export function classifySilenced(error: unknown): SilenceReason | null { if (error instanceof OutputError) { return "output_error"; } - // A ValidationError means the user supplied malformed input (e.g. an empty - // issue identifier passed by an AI agent). This is expected user-input noise, - // not a CLI bug — silence it so it does not pollute Sentry with actionable - // user errors (CLI-1HQ). - if (error instanceof ValidationError) { - return "validation_error"; - } // A raw `TypeError: "fetch failed"` (CLI-16W) means the CLI could not reach // Sentry at all (offline, DNS, connection refused/timeout). There is nothing // actionable in a "user is offline" report, so drop it — same rationale as