Skip to content

[product-manager-impersonator] Declarative workflow metadata manifest #1754

Description

@github-actions

Feature Idea

Summary: Add a per-workflow meta.yml manifest that declares dogfood behavior (for example excluded-from-dogfood and auto-remediation chaining) so maintainers don’t need to edit hardcoded lists in scripts/dogfood.sh.

Why a Customer Would Want This

Maintainers adding or changing workflows want one obvious place to declare workflow behavior. Today, behavior is split between workflow directories and script-level arrays, which makes onboarding and maintenance error-prone and increases review churn when a new workflow needs special handling.

Rough Implementation Sketch

  • Add optional gh-agent-workflows/<workflow>/meta.yml with a tiny schema (for example: dogfood.exclude: true|false, dogfood.auto_remediation: true|false).
  • Update scripts/dogfood.sh to derive exclusion and remediation behavior from each workflow’s metadata, with sensible defaults when metadata is absent.
  • Add a lightweight validator script (invoked from CI/lint) to fail on malformed metadata keys/values.
  • Document the manifest and examples in gh-agent-workflows/DEVELOPING.md.

Why It Won't Be That Hard

This is a small, contained change: one sync script, one validator, and docs. No compiler changes are required, and the behavior already exists today in hardcoded arrays, so this is mainly moving existing logic to a declarative source of truth.

Evidence

Duplicate Check Notes

  • Checked /tmp/previous-findings.json; related ideas exist (e.g., scaffolding/linting/setup improvements), but none propose a per-workflow declarative metadata manifest to replace dogfood.sh behavior lists.
  • Targeted open-issue searches for dogfood metadata returned no open matches.

What is this? | From workflow: Trigger Product Manager Impersonator

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions