Skip to content

[quality] Triage empty catches and silent promise rejections #325

Description

@serge-ivo

Problem

The latest VCQA scan reports substantial error-handling debt.

Scan context:

  • Command: pnpm vcqa
  • Error-handling score: C 63/100
  • 215 issues

Dominant findings:

  • 63x empty catch blocks.
  • 29x .catch(() => {}) silently swallowing errors.
  • 7x JSON.parse of external data without try/catch.
  • 4x process.exit() in library code.
  • 3x floating promises.

Representative files from the report:

  • packages/browser-runner/src/coding/inspect.ts
  • packages/cli/src/commands/up.ts
  • packages/sdk/src/client.ts
  • packages/sdk/src/voice/config.ts
  • packages/sdk/src/voice/cues.ts

Acceptance criteria

  • Classify each empty/silent catch as intentional best-effort, expected optional behavior, or real error path.
  • For intentional best-effort paths, add narrow comments and structured/debug logging where useful.
  • For real failures, propagate errors or surface them to the user/operator.
  • Avoid leaking sensitive details in user-facing error messages.
  • Add focused tests for at least the highest-risk SDK/CLI/browser-runner paths changed.
  • pnpm vcqa error-handling issue count drops materially without suppressing real failures.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendBackend / Worker / API workbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions