Skip to content

feat(infra): add issue governance workflows #434 #435 #436#442

Open
chf3198 wants to merge 1 commit intomainfrom
feat/434-435-436-issue-governance
Open

feat(infra): add issue governance workflows #434 #435 #436#442
chf3198 wants to merge 1 commit intomainfrom
feat/434-435-436-issue-governance

Conversation

@chf3198
Copy link
Copy Markdown
Owner

@chf3198 chf3198 commented Apr 24, 2026

Summary

Adds three GitHub Actions workflows for issue governance enforcement (all using actions/github-script@v7, no external trust surface):

All three are advisory enforcement (comment + failing check) — GitHub has no hard API gate on issue creation/edit.

Test plan

  • Create issue without all 4 label categories → label-completeness check fails with violation comment
  • Create issue with title feat(infra): add something → title-lint check fails
  • Create issue with title [BUG] something → title-lint check fails
  • Remove role:manager from an Epic → epic-role-guard re-adds it and posts comment
  • npm run lint passes (57, 59, 59 lines respectively)

Closes #434
Closes #435
Closes #436

🤖 Generated with Claude Code

#434 #435 #436

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 24, 2026 16:15
@chf3198 chf3198 had a problem deploying to collaborator-gate April 24, 2026 16:15 — with GitHub Actions Failure
@github-actions
Copy link
Copy Markdown

Messages
📖

Danger: ticket-first, branch, and title checks complete. Failures block merge; warnings are advisory.

Generated by 🚫 dangerJS against 97ccb17

@chf3198 chf3198 changed the title feat(infra): add issue label, title, and Epic role governance #434 #435 #436 feat(infra): add issue governance workflows #434 #435 #436 Apr 24, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 97ccb1778b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +38 to +42
await github.rest.issues.addLabels({
...context.repo,
issue_number: issueNum,
labels: ['role:manager']
});
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Avoid forcing role:manager on backlog epics

This unconditionally re-adds role:manager for every type:epic, which conflicts with the existing backlog rule enforced by .github/workflows/label-lint.yml (status:backlog must have no role:*). Because the epic template creates epics as type:epic + status:backlog, any later label change will trigger this workflow to add role:manager, and label-lint will then fail; removing the role triggers this guard again, so backlog epics become unsatisfiable under the current checks.

Useful? React with 👍 / 👎.

Comment on lines +4 to +5
issues:
types: [labeled, unlabeled]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Trigger Epic role guard when issues are opened

The guard only listens to labeled/unlabeled, so an epic created with type:epic during issue creation is not corrected at creation time. That leaves epics without role:manager until some later label mutation happens, which breaks the stated invariant that epics always carry role:manager and creates inconsistent behavior depending on how the issue was created.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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

Labels

None yet

Projects

None yet

2 participants