**Root-cause and responsibility analysis (required):**
1. Treat the reported location as the starting point, then verify the problem, direct cause, and root cause in the current code.
2. Classify it as an independent local issue or a structural issue involving responsibility, source of truth, or contract.
3. For a structural issue, identify the authoritative requirement, specification, schema, or public contract, and search as needed for implementations with the same meaning, contract, and root cause. Do not treat the finding's counterexamples as the upper bound, and exclude responsibilities that are merely visually similar.
4. Identify the valid conditions, forbidden conditions, and boundary values that apply, then map them to real entries, types and schemas, validation boundaries, consumers, state, side effects, and failure paths that can change whether those conditions hold. When finite sets or ordered candidates are relevant, make the members and boundaries that affect the current conditions concrete. Follow delegated helpers beyond their call names: verify caller constraints related to the cause or acceptance criteria and the connection from entry to observable result. Do not enumerate unrelated state dimensions or terminal paths.
5. Treat unresolved issues and unmigrated contract paths confirmed to share the same cause as one fix unit.
6. Check evidence that could disprove the assumed cause, and revise the analysis before editing when it does.
