Skip to content

[Hackathon] Add structured debug logging to silent catch blocks #186

Description

@farhank15

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

  • I have searched existing issues and this is not a duplicate.
  • I have provided my Discord identity above for reward coordination.

Activity

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

Metadata

Metadata

Assignees

Labels

acceptedTriaged and accepted — a PR for this will be reviewedhackathonCLI hackathon submissionsin-progressAssigned and actively being worked on

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions