Skip to content

docs(contributing): document PR body format requirement in AGENTS.md #1072

@planetf1

Description

@planetf1

Observed behaviour

New PRs created without the GitHub template UI (e.g. via gh pr create --body, from a fork, or by an AI coding agent) fail the update-pr-body CI check with:

No PR type selected. Please check one of of the boxes from the original pr template.

The check (.github/workflows/pr-update.yml) requires the PR body to contain a checked type checkbox ([x] Component, [x] Misc, etc.). When it detects one, it rewrites the body with the appropriate template from .github/PULL_REQUEST_TEMPLATE/ and adds a hidden marker:

<!-- mellea-pr-edited-marker: do not remove this marker -->

On subsequent workflow runs the marker is detected (if: !contains(github.event.pull_request.body, 'mellea-pr-edited-marker')) and the job is skipped.

Expected behaviour

AGENTS.md (or a linked contributing guide) explains:

  1. What the update-pr-body check does and why it exists.
  2. That PRs created outside the GitHub UI need to either include a checked type checkbox so the bot can rewrite the body, or be manually pre-formatted with the marker + the relevant template from .github/PULL_REQUEST_TEMPLATE/.
  3. The five type options (Component, Requirement, Sampling Strategy, Tool, Misc) and which template each maps to.

Why it matters

This is a silent failure for anyone using gh pr create, CI pipelines, or AI agents to open PRs — the check fails immediately with a message that doesn't tell the contributor what format is needed or where to find the templates. A one-paragraph note in AGENTS.md (Section 7 Common Issues would fit) would eliminate the confusion entirely.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/stdlibCore abstractions: Context, MOT, SamplingStrategy, formatters, serializationdocumentationImprovements or additions to documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions