Skip to content

feat(add-to-project): track all issues + retire Discussion drafts + ContentTwin/BMAD#616

Open
don-petry wants to merge 2 commits into
mainfrom
feat/initiative-track-all-issues
Open

feat(add-to-project): track all issues + retire Discussion drafts + ContentTwin/BMAD#616
don-petry wants to merge 2 commits into
mainfrom
feat/initiative-track-all-issues

Conversation

@don-petry

Copy link
Copy Markdown
Contributor

What this does

Overhauls the Initiatives board population + classification.

1. Classify (Initiative + Theme). classify-initiative.sh — deterministic, ordered-regex classifier over a title | labels | repo signature. Cross-cutting infra rules first, product initiatives last (so a SonarCloud sweep inside a product repo → Org Standards, not product work). Writes only per-item field values (never the schema — no option-wipe footgun). Leaves genuinely-unmatched items blank.

2. Track all issues (portfolio model). Issues are un-gated — every issue across all installed repos is tracked (minus the excluded-label noise filter). PRs keep the dev-lead gate (they're transient). An empty REQUIRED_LABEL now means "no required label".

3. Retire Discussion drafting. Discussions are no longer drafted onto the board — Ideas live in GitHub Discussions; an Epic is a parent Issue with sub-issues (a board can't hold a Discussion as real content anyway). Removed the discussion: trigger, the reconcile-discussion job, the Ideas backlog scan, and reconcile-discussion.sh + its tests.

Taxonomy

25 Initiative options / 10 Themes (created on the board via the safe read-then-round-trip-all-ids pattern — verified zero orphaning). New this PR: Business Analyst, Cost Observability + per-product initiatives/Themes TalkTerm, Broodly, Markets, Google App Scripts, ContentTwin, and BMAD (Agentic Framework). broodminder-export→Broodly and repo-template→Org Standards via existing tokens.

Tests

66 bats green (un-gate + PR-gate + issue/PR-kind + product/infra ordering + BMAD/ContentTwin guards); shellcheck -S warning clean; 4 workflows parse.

Activation (two-step, nothing auto-mutates on merge)

  1. Merge → the daily reconcile (new code) adds all issues un-gated and classifies them; no new Discussion drafts.
  2. One-time cleanup (operator): delete the existing Discussion draft placeholders (backed up) — the automation no longer touches them.

Refs #415, #387.

🤖 Generated with Claude Code


Note: follow-up to #608, which squash-merged mid-work and captured only the classifier + triage tuning. This PR carries the stranded remainder: un-gate Issues (PRs stay gated), retire Discussion drafting, and the ContentTwin + BMAD initiatives. The 25 Initiative / 10 Theme options already exist on the board.

…ontentTwin/BMAD

Follow-up to #608, which squash-merged mid-work and captured only the classifier
+ triage tuning. These two changes landed on the branch after that merge and
were stranded:

1. Un-gate Issues (keep PRs gated): empty REQUIRED_LABEL now means "no required
   label"; reusable passes '' for issues / dev-lead for PRs; reconcile-backlog
   gates per item via the /issues payload's `.pull_request`. Excluded-label
   noise filter still applies.
2. Retire Discussion drafting: removed the `discussion:` trigger (stub +
   template), the reconcile-discussion job (reusable), the Ideas backlog scan,
   ideas_category/IDEAS_CATEGORY, and reconcile-discussion.sh + its bats. Ideas
   live in GitHub Discussions; an Epic is a parent Issue with sub-issues.
3. ContentTwin + BMAD initiatives (full org coverage); bare `bmad` moved off the
   dev-lead rule so it doesn't swallow the repo path.

Board is now the org-wide issue portfolio. The 25 Initiative / 10 Theme options
already exist on the board (created footgun-safe). 66 bats green; shellcheck -S
warning clean; 4 workflows parse. Docs updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@don-petry don-petry requested a review from a team as a code owner July 4, 2026 21:29
Copilot AI review requested due to automatic review settings July 4, 2026 21:29
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@don-petry, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 14 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: cda776ad-fb24-4f18-b9b4-a59fde53fbe7

📥 Commits

Reviewing files that changed from the base of the PR and between 8118d13 and f90837b.

⛔ Files ignored due to path filters (2)
  • .github/scripts/add-to-project/initiative-rules.tsv is excluded by !**/*.tsv
  • .github/scripts/add-to-project/initiative-taxonomy.tsv is excluded by !**/*.tsv
📒 Files selected for processing (12)
  • .github/scripts/add-to-project/add-issue-or-pr.sh
  • .github/scripts/add-to-project/reconcile-backlog.sh
  • .github/scripts/add-to-project/reconcile-discussion.sh
  • .github/workflows/add-to-project-reconcile.yml
  • .github/workflows/add-to-project-reusable.yml
  • .github/workflows/add-to-project.yml
  • standards/initiatives-project.md
  • standards/workflows/add-to-project.yml
  • test/workflows/add-to-project/add-issue-or-pr.bats
  • test/workflows/add-to-project/classify-initiative.bats
  • test/workflows/add-to-project/reconcile-backlog.bats
  • test/workflows/add-to-project/reconcile-discussion.bats
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/initiative-track-all-issues

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry don-petry enabled auto-merge (squash) July 4, 2026 21:29
@don-petry don-petry disabled auto-merge July 4, 2026 21:30
@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — fix-bot-comment (no-changes)

Agent reasoning
Issues addressed: 0
Files changed: none
Skipped (informational): 0
```

@don-petry don-petry enabled auto-merge (squash) July 4, 2026 21:30

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the Initiatives project automation to track all open issues across repositories (un-gated) while keeping pull requests gated by the dev-lead label. It removes tracking for GitHub Discussions (Ideas category) entirely, deletes the discussion reconciliation scripts and tests, and updates the initiative classification rules, taxonomy, and documentation. The review feedback suggests improving the robustness of the TSV reader in reconcile-backlog.sh to handle missing trailing newlines and carriage returns, using the optional/try operator in jq to prevent fatal errors on null labels, and refactoring the write_issue_stub test helper to avoid potential printf formatting issues.

Comment thread .github/scripts/add-to-project/reconcile-backlog.sh Outdated
Comment thread .github/scripts/add-to-project/reconcile-backlog.sh Outdated
Comment thread test/workflows/add-to-project/reconcile-backlog.bats
@don-petry don-petry disabled auto-merge July 4, 2026 21:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the org “Initiatives” Projects automation to (1) track all issues as the durable portfolio unit, (2) keep PRs gated behind dev-lead, (3) stop drafting Discussions onto the board, and (4) expand/adjust the Initiative/Theme taxonomy (including BMAD + ContentTwin) with corresponding tests and docs.

Changes:

  • Un-gate Issues (track all, minus excluded-label noise filter) while keeping PRs gated by REQUIRED_LABEL (default dev-lead).
  • Remove Discussion drafting/reconciliation from workflows, scripts, and tests.
  • Extend classification taxonomy/rules + docs; update bats coverage for new behavior.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/add-to-project.yml Thin caller stub updated to issues+PRs only (no Discussions).
standards/workflows/add-to-project.yml Canonical template updated to issues+PRs only (no Discussions).
.github/workflows/add-to-project-reusable.yml Core reusable workflow updated for issue un-gating + PR gating; removes discussion job/inputs.
.github/workflows/add-to-project-reconcile.yml Scheduled/manual reconcile updated to scan issues/PRs only and run classifier step.
.github/scripts/add-to-project/add-issue-or-pr.sh Noise gate updated so empty REQUIRED_LABEL means “no required label” (used to un-gate issues).
.github/scripts/add-to-project/reconcile-backlog.sh Backlog scanner updated to distinguish issue vs PR and apply gate only to PRs.
.github/scripts/add-to-project/reconcile-discussion.sh Removed (Discussions no longer drafted/tracked).
.github/scripts/add-to-project/initiative-rules.tsv Expanded/retuned ordered regex classifier rules (incl. BMAD/ContentTwin and more infra tokens).
.github/scripts/add-to-project/initiative-taxonomy.tsv Updated Initiative→Theme mapping to include product themes + ContentTwin + BMAD.
standards/initiatives-project.md Operator guide updated to portfolio model (issues tracked; ideas stay in Discussions).
test/workflows/add-to-project/add-issue-or-pr.bats New coverage for empty REQUIRED_LABEL behavior (un-gating).
test/workflows/add-to-project/reconcile-backlog.bats Updated coverage for issue un-gating + PR gating; removes discussion expectations.
test/workflows/add-to-project/classify-initiative.bats Added classification tests for new/adjusted taxonomy (BMAD/ContentTwin/etc.).
test/workflows/add-to-project/reconcile-discussion.bats Removed (Discussion reconciler removed).

Comment thread .github/workflows/add-to-project-reusable.yml Outdated
Comment thread .github/scripts/add-to-project/reconcile-backlog.sh
Comment thread test/workflows/add-to-project/reconcile-backlog.bats Outdated
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 4, 2026
@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@sonarqubecloud

sonarqubecloud Bot commented Jul 4, 2026

Copy link
Copy Markdown

@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry don-petry enabled auto-merge (squash) July 4, 2026 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants