| name | canary-workflows-results |
| description | Use this skill when orchestrating Canary workflows, dependency chains, post-processing, structured measurements, reports, or agentic result-analysis loops. |
Canary workflows and result analysis
What this skill is for
Use this skill when a task involves more than running one test: parameter sweeps, dependency workflows, structured measurements, post-processing, reports, or agent-driven analysis loops.
First action: query workflow capabilities
Start with:
canary query -c workflows
Then query the specific area:
canary query -c dependencies
canary query -c hooks.post
canary query -c results
canary query -c agent_workflows
Workflow model
A Canary workflow is a dependency-aware set of jobs executed in a session.
Common workflow elements:
- parameterized job variants;
- dependencies between generated jobs;
- composite analysis jobs;
- post-test hooks;
- session hooks;
- structured measurements;
- generated reports.
Recommended workflow for agents
- Identify the workflow definition or generator.
- Query the relevant capability topic.
- Run the smallest useful selection.
- Inspect status and structured measurements.
- Decide whether to refine inputs, rerun, report, or stop.
- Avoid loading the entire capability database unless necessary.
Useful commands:
canary run PATH_OR_TAG
canary status
canary query -s latest
canary query -j JOBID measurements.data
Structured measurements
Prefer structured measurements over log scraping.
A job-level post-processing hook can record values:
@canary.hookimpl
def canary_runtest_finish(case):
case.add_measurement("max_stress", 1.23e8)
A session hook can record workflow metadata:
@canary.hookimpl
def canary_sessionstart(session):
session.add_measurement("campaign", "optimization-run-17")
Query them later:
canary query -j JOBID measurements.data.max_stress
canary query -s latest measurements.campaign
For hook details:
canary query -c hooks.post
Post-processing strategies
Choose the least invasive strategy:
- If post-processing is part of the scientific test itself, implement it in the test.
- If post-processing needs all parameterized cases, use a composite analysis job where supported.
- If post-processing should apply uniformly to jobs, use a post-test hook.
- If post-processing summarizes a whole session, use a session finish hook or reporter.
Query:
canary query -c workflows.post_processing
canary query -c hooks.post
canary query -c results.reports
Reports
Canary can generate reports such as JSON, JUnit XML, HTML, and Markdown when reporter plugins are available.
Query:
canary query -c results.reports
canary query -c commands.report
Use reports when a human or CI system needs a durable artifact. Use canary query when an agent needs a specific structured value.
Common mistakes
- Treating a session as only console output instead of persisted structured state.
- Using post-processing logs instead of measurements.
- Running too broad a workflow before testing a small selection.
- Ignoring blocked jobs in dependency workflows.
- Assuming a view directory contains all persisted results.
Related skills
- Use
canary-test-authoring for defining jobs and dependencies.
- Use
canary-run-debug for failure diagnosis.
- Use
canary-extension-development when the workflow requires new hooks, generators, launchers, or reporters.