Skip to content

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

Open

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

  1. zeshi-du commented on Jul 18, 2026

    @zeshi-du
    Contributor

    Scope bookkeeping so this doesn't get closed prematurely: the issue enumerates ~12 silent catch sites across 6 files. So far exactly one is covered (init.ts whoami fallback, merged via #223); a second PR (#229) targeted update-check.ts, which isn't on this issue's list, and got a rework request. Everything else here — test.ts ×5, skill-nudge.ts ×2, bundle.ts, the remaining init.ts sites, dry-run/fetch.ts, facade.ts ×2 — is still open for contributors. The pattern to follow is #223: gate strictly on the parsed --debug option, stderr only, with a byte-identical-without-debug test.

  2. yuhaouno commented on Jul 25, 2026

    @yuhaouno

    /assign

  3. testsprite-hob commented on Jul 25, 2026

    @testsprite-hob

    Assigned to @yuhaouno. Thanks for taking this on. (2 more slots available.)

    Your open assigned issues (1/3):
    (none)

  4. added
    acceptedTriaged and accepted — a PR for this will be reviewed
    on Aug 13, 2026
  5. zeshi-du commented on Sep 25, 2026

    @zeshi-du
    Contributor

    @yuhaouno — this issue has been assigned to you since July 25 without a linked PR, so we're releasing the claim to free the slot for other contributors. You're welcome to /assign again if it's still free when you're ready.

    For whoever picks it up next: #223 and #317 already covered some of the catch sites listed above, so check current main before starting.

  6. yuhaouno commented on Sep 25, 2026

    @yuhaouno

    /assign

    I am ready to resume with a narrow remaining part of this issue: debug-only diagnostics when the best-effort duplicate-name lookup fails during test creation. I checked current main and #223 / #317; this will not duplicate the completed skill-nudge work. The PR will preserve create behavior and non-debug output, with regression coverage.

  7. testsprite-hob commented on Sep 25, 2026

    @testsprite-hob

    Assigned to @yuhaouno. Thanks for taking this on. (2 more slots available.)

    Your open assigned issues (1/3):
    (none)

  8. naufalfx805-source commented on Oct 2, 2026

    @naufalfx805-source
    Contributor

    /assign

  9. testsprite-hob commented on Oct 2, 2026

    @testsprite-hob

    Assigned to @naufalfx805-source. Thanks for taking this on. (2 more slots available.)

    Your open assigned issues (1/3):
    (none)

  10. naufalfx805-source commented on Oct 2, 2026

    @naufalfx805-source
    Contributor

    Opened PR #354 addressing the duplicate-name advisory lookup in \src/commands/test.ts\ and the endpoint resolution & agent install parse in \src/commands/init.ts, following the #223/#317 pattern with full unit test coverage.

  11. testsprite-hob commented on Nov 3, 2026

    @testsprite-hob

    @yuhaouno, your claim expired after 48 hours without a linked PR. This issue is open for others now, and you're welcome to /assign again if it's still free.

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

Metadata

Metadata

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