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.
Problem
The latest VCQA scan reports substantial error-handling debt.
Scan context:
pnpm vcqaC 63/100Dominant findings:
catchblocks..catch(() => {})silently swallowing errors.JSON.parseof external data without try/catch.process.exit()in library code.Representative files from the report:
packages/browser-runner/src/coding/inspect.tspackages/cli/src/commands/up.tspackages/sdk/src/client.tspackages/sdk/src/voice/config.tspackages/sdk/src/voice/cues.tsAcceptance criteria
pnpm vcqaerror-handling issue count drops materially without suppressing real failures.