Skip to content

Add structured bug-fix exercise guide and surface it in README#24

Merged
j143 merged 3 commits intomainfrom
copilot/introduce-important-bugs
Apr 18, 2026
Merged

Add structured bug-fix exercise guide and surface it in README#24
j143 merged 3 commits intomainfrom
copilot/introduce-important-bugs

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 18, 2026

This PR turns the request into a practical debugging curriculum: it documents a curated set of real bugs in the codebase as exercises, with reproducible symptoms and clear completion criteria. The goal is to let contributors practice realistic, work-style debugging without pre-fixing the issues.

  • Exercise catalog added

    • Introduced BUG_EXERCISES.md with 9 targeted bug scenarios spanning:
      • runtime panics and edge cases
      • file I/O correctness
      • process/state consistency
      • integration contract mismatches
      • resource-leak patterns
      • config/path consistency
      • extraction security boundaries
      • error-propagation gaps
      • shared mutable state/concurrency risk
    • Each exercise includes: category, exact file location, symptom, repro hint, debugging focus, and “done when” criteria.
  • Discoverability in core docs

    • Added a Debugging Exercises entry in README.md linking directly to BUG_EXERCISES.md so new contributors can start from the main doc path.
  • Repo hygiene for local builds

    • Updated .gitignore to exclude basic-docker-engine binary output to prevent accidental commits of local artifacts.

Example exercise format now included in the repo:

## Exercise 5 — Deferred close in loop can leak descriptors under many layers
- **Category:** Resource leak / scalability bug
- **Location:** `image.go` (`Pull`)
- **Symptom:** Layer readers are deferred inside a loop, delaying close until function return.
- **Done when:** Each layer reader is closed promptly after extraction.

@j143 j143 marked this pull request as ready for review April 18, 2026 09:15
@j143 j143 merged commit 2e2f420 into main Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants