Skip to content

fix: keep deprecated rule issues open on act-board - #72

Closed
WilcoFiers wants to merge 1 commit into
mainfrom
fix/deprecated-issues-stay-open
Closed

WilcoFiers wants to merge 1 commit into
mainfrom
fix/deprecated-issues-stay-open

Conversation

@WilcoFiers

Copy link
Copy Markdown
Member

Deprecated rules showed up on the ACT board under Project Status Approved, current instead of Deprecated.

Cause

upsertActBoardIssues closed the act-board issue for every rule with status Deprecated. GitHub Projects v2 moves a closed item to the Done option, and on the ACT board that option is renamed Approved, current ("This has been completed"). The Deprecated status that sync-act-board-project writes was overwritten by that built-in workflow, so the deprecated rules ended up in the bucket for approved and current rules, which is otherwise empty.

Fix

  • Every rule in the classifier snapshot keeps an open act-board issue, deprecated ones included. Issues closed by earlier runs are reopened, so the existing cards recover on the next sync.
  • The issue body still renders **Status:** Deprecated, and project sync still sets Project Status to Deprecated for those rows; nothing is skipped there.
  • Issues for rules that are no longer in the snapshot (removed or unmanaged) and duplicate issues are still closed. Those cards can still fall into Done / Approved, current; they are not in the snapshot, so project sync no longer writes a status for them. If that turns out to be confusing, a follow-up could set their status explicitly before closing.

Tests

src/approval-report/__tests__/act-board.test.ts covered the old behaviour ("closes deprecated and snapshot-missing rule issues"). It now asserts that a deprecated rule issue stays open while a snapshot-missing one is closed, plus new cases for reopening a previously closed deprecated issue and creating a deprecated rule issue as open. All 100 tests in src/approval-report pass.

Part of #60

Closing an act-board issue makes GitHub Projects v2 move its card to the
Done option, which the ACT board renames "Approved, current". Deprecated
rules were therefore shown as approved and current, regardless of the
Deprecated status the Project sync writes.

Every rule in the classifier snapshot now keeps an open issue, and issues
closed by earlier runs are reopened. Deprecated still shows in the issue
body and as the Project Status. Issues for rules missing from the snapshot
are still closed, so those cards can still land in Done.

Co-authored-by: Cursor <cursoragent@cursor.com>
@WilcoFiers

Copy link
Copy Markdown
Member Author

Closing unmerged: the root cause is on the Project side, not in the upsert. The board's Status options are the renamed Projects v2 defaults, so the built-in "Item closed -> set Status: Done" workflow drops any closed issue into Approved, current. Disabling that workflow (plus "Item reopened" and "Item added to project", since the bot owns Status) fixes it for deprecated rules and for snapshot-missing/duplicate issues, which this PR left broken.

Keeping deprecated issues open also conflicts with the plan in #60, where a deprecated rule's issue is closed and drops out of the default table.

@WilcoFiers WilcoFiers closed this Sep 18, 2026
@WilcoFiers
WilcoFiers deleted the fix/deprecated-issues-stay-open branch September 18, 2026 13:59
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.

1 participant