--- name: code-bug-investigation description: >- Investigate a reported defect, gather reproduction evidence, confirm root cause, and recommend a focused verification strategy without editing artifacts. Production defects require focused regression evidence; test-infrastructure defects start with consumer or direct-workflow evidence. --- # Bug Investigation Turn a bug report into a confirmed root-cause analysis and a ready-to-establish verification plan. This skill investigates; it does not fix code or edit verification. Use `common-verification-first` as the governing policy. The intent is `BUG_FIX`; infrastructure, configuration, and test infrastructure do not create separate intents. ## When to Use - A user or reviewer reports incorrect behavior. - A GitHub issue describes a defect. - A failing check suggests a regression. - A patch seems obvious but the root cause has not been demonstrated. ## 1. Build the Fastest Feedback Loop 1. Restate observed behavior, expected behavior, trigger, and environment. 2. Find the narrowest existing way to trigger the symptom: test selector, API request, CLI command, build, validator, browser flow, or direct workflow. 3. Reproduce before proposing a fix. If the defect cannot be reproduced, stop and report the missing conditions or evidence. 4. Use temporary read-only diagnostics when the failure is otherwise invisible. Do not leave instrumentation or edit tracked artifacts during investigation. ### Production Behavior Find whether existing behavioral verification can reproduce the defect accurately. Recommend reusing or updating it when possible; otherwise recommend one focused regression at the lowest level that crosses the failing boundary. The Contract Verifier will establish and prove that regression before implementation. ### Test Infrastructure Start with a production-behavior consumer test or direct reproduction of the affected test workflow. Shared, public, reusable, or independently versioned support code does not justify direct tests. Recommend the smallest focused test of a stable support contract only when consumer or workflow evidence cannot localize the fault precisely enough, and state the diagnostic precision gap. ## 2. Gather Evidence From an issue, collect its title, description, reproduction steps, expected and actual results, environment, labels, and relevant recent comments. From a user report, resolve material ambiguity before continuing. Capture command, input, output, and whether the evidence is repeatable. Separate: - confirmed observation; - inference supported by code or runtime evidence; and - unverified assumption. ## 3. Locate the Root Cause 1. Identify the affected domain, application, adapter, SDK, UI, workflow, or support layer. 2. Read the execution path and stable external boundary. 3. Inspect existing verification and explain why it missed the defect. 4. Trace the exact condition and code path that produce the wrong result. 5. Confirm the root cause with the reproduction; do not confuse it with the symptom. 6. Identify invariants and neighboring behavior that the fix must preserve. ## 4. Select the Proposed Verification Strategy For production behavior, choose one focused regression plan: - reuse an existing behavioral test unchanged; - update an existing test whose expectation is wrong or incomplete; or - add one focused regression because the behavior is absent. Do not keep contradictory expectations or add redundant tests. Choose the lowest level that proves the real defect without mocking away its cause: | Defect boundary | Typical level | | --- | --- | | Pure domain rule | Unit | | Application decision with stable ports | Unit or focused integration | | File, HTTP, cloud provider, or external adapter | Integration | | DI, command dispatch, or cross-layer wiring | Integration | | CLI or GitHub Action contract | Integration or e2e | | UI rendering or interaction | Component or browser test | | Critical user journey | E2E | For test infrastructure, use consumer or direct-workflow evidence instead of this table unless the documented diagnostic exception applies. ## Output ```text BugAnalysis Observed behavior: Expected behavior: Trigger and environment: Reproduction command and result: Confirmed root cause: Affected code and scope: Preserved invariants: Existing coverage and why it missed the defect: Proposed strategy: reuse | update | add one focused regression | consumer/direct workflow Proposed behavior and level: Diagnostic precision gap: none | explanation Assumptions and unresolved evidence: Status: READY_TO_ESTABLISH_CONTRACT | NOT_REPRODUCED | BLOCKED ``` At an interactive checkpoint, present this analysis before implementation. Calling workflows may fold it into their single specification checkpoint. ## Rules - One defect per investigation. - Never propose a production fix without confirmed reproduction evidence. - Never edit production, verification, documentation, configuration, or test support. - Never claim a planned regression has failed until the Contract Verifier actually runs it. - Never add direct support tests for coverage or methodology. - Surface inability to reproduce instead of guessing.