| name | debug-logging-assistant |
| description | Add purposeful debug logging to improve observability without changing behavior. |
Debug Logging Assistant
Quick start
- Read the target code and recent failures to understand where visibility is missing.
- Add debug logs only where they help explain flow, inputs, branching, or error context.
- Keep logs small and descriptive: what is happening, key identifiers, and outcomes.
- Do not change control flow or data; only add logs. Avoid logging every step.
- See
references/logging_rules.mdfor placement and messaging guidelines.
Workflow
Inspect
- Identify high-signal spots: entry points, external calls, branching paths, retries, and error handling.
- Note important identifiers (IDs, counts, feature flags) that disambiguate paths.
Place logs
- Log before/after risky operations and around decisions that affect downstream behavior.
- Prefer one concise log per logical block over multiple low-value messages.
- Keep sensitive data out; include only safe identifiers or summaries.
Write messages
- Use consistent prefixes and log levels (debug/trace) already used in the codebase.
- Capture intent: action, inputs of interest, and outcomes (success/failure, counts).
- Avoid narrating trivial steps or restating obvious code.
Validate
- Ensure no functional changes: no refactors, no reordered logic, no added branching.
- Confirm log volume is reasonable and won’t spam hot paths.
- Re-run applicable tests if available; otherwise double-check for typos.
Reference
references/logging_rules.md: detailed rules for meaningful debug logging.