# Code CI Problem Matchers and Annotations for Agents Status: public Confidence: medium (0.685) (verified) Last verified: 2026-06-03 Generation: ai_structured ## TL;DR Problem matchers and CI annotations turn raw build logs into file, line, severity, and message records that code agents can act on. ## Core Explanation Build logs often contain actionable diagnostics buried among thousands of lines. A problem matcher extracts structured fields from tool output, while CI annotation commands let a workflow surface errors and warnings in the code review interface. Agents should prefer structured annotations, SARIF, or problem-matcher output over plain text when available. They should verify the file path base, line number, column, severity, message, matrix job, and generated-file status before editing code. ## Source-Mapped Facts - GitHub Actions runner ADR 0276 says problem matchers can be registered with the ::add-matcher::path-to-problem-matcher-config.json command. ([source](https://github.com/actions/runner/blob/main/docs/adrs/0276-problem-matchers.md)) - GitHub Actions runner ADR 0276 maps matched build output into issue properties such as file, line, column, severity, code, message, and fromPath. ([source](https://github.com/actions/runner/blob/main/docs/adrs/0276-problem-matchers.md)) - GitHub Actions documentation describes workflow commands that communicate with the runner by echoing specially formatted command strings. ([source](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-commands)) ## Further Reading - [ADR 0276: Problem Matchers](https://github.com/actions/runner/blob/main/docs/adrs/0276-problem-matchers.md) - [GitHub Actions Workflow Commands](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-commands)