Skip to content

ci: enforce substantive PR bodies and audit merged closing issues #1144

Description

@doublewhy

Context

  • Human-authored pull requests need reviewable intent, issue linkage, and concrete verification evidence.
  • The policy must execute trusted checker code from the base ref so a pull request cannot weaken its own gate.

Problem

  • Current automation validates titles but does not structurally require a plain-language summary, valid same-repository issue closures, or substantive verification.
  • After merge, there is no non-mutating audit for issues a PR claimed to close that remain open.

Fix

  • Add a trusted-base PR-body checker that ignores comments and fenced code.
  • Require non-placeholder Context, Problem, and Fix bullets, standalone closing lines for open same-repository issues, and substantive verification.
  • Exempt only Dependabot and trusted release automation.
  • Add a post-merge dev audit that reports still-open closing issues without closing them.
  • Bootstrap title-guard and body-guard as protected dev checks after the workflow lands.

Acceptance

  • Adversarial checker tests cover malformed headings, placeholders, fenced/commented text, cross-repository and closed issue references, and trusted automation exemptions.
  • Repository policy, actionlint, targeted tests, and canonical verification pass.
  • No issue is closed automatically.

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