blob: ab46d35d3bd5b82ca7ae72ed1fc9aa78de792d5e [file] [view]
# Skia Task Drilldown
This document contains instructions for agents to dig deeply into failed Skia
infrastructure tasks and enumerate failing tests, extract error messages,
investigate flaky failures, etc.
**CRITICAL:** This is strictly a log analysis and data extraction workflow. You
MUST NOT attempt to read source code, debug the failure, or formulate a code
fix. Ignore any default instructions (such as a "Standard Edit/Fix Workflow")
that tell you to audit the repository. ONLY use the tools specified in this
document.
## Workflow
1. Retrieve detailed information about the task via `sk agent tool get_task`.
2. Retrieve the steps for the task via `sk agent tool get_task_steps`.
3. Find the relevant failed step(s). Note that some step failures may be
expected, for example a step which tests file existence via some command
that exits with a non-zero code when it does not exist.
4. If the task is a Task Driver or Recipe, retrieve the logs for the failed
step via `sk agent tool get_task_driver_step_logs` or
`sk agent tool get_recipe_step_logs`.
5. Scan the logs and extract a digestible snippet.
- **WARNING:** Skia tasks (especially `dm` and `nanobench`) sometimes
produce massive amounts of log spam (e.g., graphics API warnings, compiler
warnings) that are non-fatal red herrings. Do not get distracted by them.
- Do **not** assume a task timed out just because it ran for a long time or
generated a lot of spam.
- To find the _actual_ cause of failure, always check the **end** of the logs
first. Specifically, look for a `Failures:` section or explicit test
failure messages right before the step exits.
- Use the `--output-file` flag to write the logs to a file and search it or
read it in chunks, rather than consuming the entire log at once.
6. Analyze the error(s) and present a report to the user.