You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Agent workflow runs produce no structured metadata about which GitHub resources triggered them or which resources they acted on. Discovering this requires parsing workflow logs.
What should happen
Every agent workflow run should emit GitHub Actions annotations (::notice::) identifying:
Source: the resource that triggered the run (e.g., ::notice title=Source::https://github.com/org/repo/issues/42). Exactly one per run.
Destination: the resource(s) the agent produced or acted on (e.g., PRs created, reviews posted, issues updated). Zero or more per run, one annotation each.
These annotations surface via the Check Runs API (GET /repos/{owner}/{repo}/check-runs/{id}/annotations) as structured data, so API consumers can discover what resources an agent run was reacting to and what it produced — without parsing logs.
This maps to a stocks-and-flows model: the source is where the flow originates, the destination is where it lands. Annotations should use these terms consistently.
Context
Annotations are not searchable/filterable via the GitHub API — you can't query "find runs that acted on issue Reposition fullsend as organization-agnostic framework #42." But they do give API consumers structured data to enumerate and match against, which is a significant improvement over log parsing.
GitHub caps annotations at 50 per step; this should be well within limits.
What happens
Agent workflow runs produce no structured metadata about which GitHub resources triggered them or which resources they acted on. Discovering this requires parsing workflow logs.
What should happen
Every agent workflow run should emit GitHub Actions annotations (
::notice::) identifying:::notice title=Source::https://github.com/org/repo/issues/42). Exactly one per run.These annotations surface via the Check Runs API (
GET /repos/{owner}/{repo}/check-runs/{id}/annotations) as structured data, so API consumers can discover what resources an agent run was reacting to and what it produced — without parsing logs.This maps to a stocks-and-flows model: the source is where the flow originates, the destination is where it lands. Annotations should use these terms consistently.
Context