Skip to content

Add automated proposal quality gates

CLOSEDPull Request
by Jatinp2607-05-2026Incoming

Adding three GitHub Actions workflows to automate initial quality checks on incoming Dev Fund proposals. These run on PR open/reopen and handle checks that don't need human review time.

  1. Champion Requirement Check (champion-check.yml)

Checks whether the proposal has a valid Champion/Endorser field.

  • If champion is present: adds champion-confirmed label and posts a confirmation comment.
  • If champion is missing or TBD then posts a comment explaining the requirement, adds needs-champion label, and closes the PR
  1. AI Signal Analysis (aipricheck.yml)

Runs pattern-matching checks for common AI-generated content signals and posts results to private Slack channel. Nothing is posted on the PR itself. Checks for:

  • Made-up Canton/Daml terminology (sub-net, Loop node, Daml VM, Canton IdP, sharding, etc.)
  • Broken hyphens from AI copy-paste (word- space, space -word patterns)
  • Em-dash overuse
  • Balanced pros/cons comparison tables
  • Over-structured headers
  • Notes missing sections (GTM/Adoption, Maintenance, Acceptance Criteria) as non-scored info.

Outputs a risk score (LOW/MEDIUM/HIGH) to Slack only. Requires SLACK_WEBHOOK_URL to be added into repo secrets.

  1. SIG Label Check (sig-label-check.yml)

Checks whether the PR has at least one SI label so the right domain experts can find and review it.

  • If SIG label is missing posts a comment listing all available SIG labels and adds needs-sig-label
  • If SIG label is added later: removes needs-sig-label on re-trigger
Does not close the PR

Requires Labels to create in repo settings:

  • needs-champion
  • champion-confirmed
  • needs-sig-label