Skip to content

fullsend run: emit source/destination annotations for agent workflow runs #896

@ralphbean

Description

@ralphbean

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:

  • 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.
  • Related to the stocks-and-flows backlog issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions