Discord Username / User ID
getmawa_22
What does this improvement do?
Multiple catch blocks across the CLI silently swallow errors with no
logging or trace output, making debugging difficult. When a feature
silently degrades (e.g., duplicate-name advisory, skill nudge,
bundle stream verification), the operator has no way to know an
error occurred — the CLI just returns a confusing result.
This adds structured debug logging (gated behind --debug / --verbose)
to these catch blocks so developers and support can trace suppressed
errors without changing behavior or exit codes.
Details / implementation notes
Found ~12 catch blocks across:
- src/commands/test.ts (lines 634, 4429, 4440, 4727, 5739)
- src/lib/skill-nudge.ts (lines 63, 130)
- src/lib/bundle.ts (line 606)
- src/commands/init.ts (lines 43, 290, 316)
- src/lib/dry-run/fetch.ts (line 41)
- src/lib/facade.ts (lines 78, 95)
For each location, inject a conditional stderr log when opts.debug
or opts.verbose is set, e.g.:
if (opts.debug) {
stderr(`[debug] <context>: ${err instanceof Error ? err.message : String(err)}`);
}
Changes are additive — no existing behavior is altered, no exit codes
change, and the default (no --debug) output is byte-identical.
Estimated < 100 lines changed across ~12 files.
Tests: verify that with --debug the catch path prints a stderr line
and without --debug the output is unchanged (byte-identical snapshots).
Confirmations
Discord Username / User ID
getmawa_22
What does this improvement do?
Multiple catch blocks across the CLI silently swallow errors with no
logging or trace output, making debugging difficult. When a feature
silently degrades (e.g., duplicate-name advisory, skill nudge,
bundle stream verification), the operator has no way to know an
error occurred — the CLI just returns a confusing result.
This adds structured debug logging (gated behind
--debug/--verbose)to these catch blocks so developers and support can trace suppressed
errors without changing behavior or exit codes.
Details / implementation notes
Found ~12 catch blocks across:
For each location, inject a conditional stderr log when
opts.debugor
opts.verboseis set, e.g.:Changes are additive — no existing behavior is altered, no exit codes
change, and the default (no --debug) output is byte-identical.
Estimated < 100 lines changed across ~12 files.
Tests: verify that with --debug the catch path prints a stderr line
and without --debug the output is unchanged (byte-identical snapshots).
Confirmations