Skip to content

πŸ› dashboard: Overview and Governor actionable counts share one definition - #10572

Merged
clubanderson merged 4 commits into
v5from
fix/actionable-count-mismatch-10561
Oct 5, 2026
Merged

clubanderson merged 4 commits into
v5from
fix/actionable-count-mismatch-10561

Conversation

@clubanderson

Copy link
Copy Markdown
Member

Summary

  • Added /api/status.actionableNow with {issues, prs, total} computed after the server applies the Overview band taxonomy.
  • Bound the Overview KPI and Governor collapsed split to that shared field so issues + prs == total for the same status snapshot.
  • Documented the shared definition and added dashboard/server regression tests.

Closes #10561

Root cause and trace

  • Scanner enumeration builds the base snapshot from EnumerateActionable: issues and PRs pass hold/exempt/draft filters into Issues.Items and PRs.Items, held work goes to Hold, and stale drafts are tracked separately (src/pkg/github/client.go:992-1085).
  • buildRepos then exposed raw actionable issues and open PRs to the dashboard, but also appended PRs.StaleDrafts into openPrs for display (src/pkg/dashboard/status_builder.go:1869-1952).
  • The governor state was evaluated from raw enumeration counts (actionable.Issues.Count, actionable.PRs.Count, actionable.Hold.Total) before Overview band classification (src/cmd/hive/main.go:6477-6482), and the Governor widget displayed gov.issues/gov.prs.
  • The Overview KPI was different: it summed server-supplied issue/PR band slices and excluded waiting, done, draft, and blocked bands from "Actionable now" (src/pkg/dashboard/static/index.html:12730-12745).
  • Therefore held/exempt work was already filtered consistently, but waiting/done/draft/blocked items could remain in Governor raw counts while Overview excluded them.

Fix details

  • statusWithOverviewBands now classifies repo items once, then computes ActionableNow from the same banded objects (src/pkg/dashboard/overview_status.go:30-122).
  • The Governor collapsed widget reads data.actionableNow.issues/prs/total (src/pkg/dashboard/static/index.html:10693-10745).
  • The Overview KPI reads window._lastStatus.actionableNow.total for the all-repos scope and keeps the existing local calculation for filtered repo views (src/pkg/dashboard/static/index.html:12730-12745).
  • The docs define Actionable now as enumerated issues + PRs after hold/exempt filters, excluding waiting/done/draft/blocked bands (src/docs/dashboard.md:191-197).

Tests

  • Added TestActionableNowSplitEqualsTotalWithSuppressedItems10561 for held/draft/waiting/done/blocked fixtures.
  • Added TestOverviewAndGovernorBindSharedActionableNowField10561 string-scan guard for the shared UI binding.
  • Not run locally per AGENTS.md; only gofmt was run.

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 5, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kellyaa for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Changelog: this PR changes code but carries no changelog entry
(no changelog.d/ fragment and no CHANGELOG.md edit).

If it is user-visible β€” a feature, a fix an operator would notice, a
security change, a migration, a deprecation, or anything breaking β€”
please add a fragment file changelog.d/<category>-<pr-or-slug>.md
containing exactly your entry (see changelog.d/README.md; the
category is one of added/changed/deprecated/fixed/security). Please
do not append to CHANGELOG.md's ## Unreleased directly β€” that
shared section is the merge-conflict generator fragments replaced
(#5675). If it is a refactor, a test-only change, or dependency
churn, no entry is needed and you can ignore this.

This is a reminder, not a gate; it never blocks a merge.

Generated by changelog-fragment-guard from the PR title (#5675).
Edit the wording freely, or replace this file with the no-changelog
label if the change is not user-visible.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

PR Title Relation Files
#10571 πŸ› dashboard: Projects card separates issue buckets from PR buckets same files src/pkg/dashboard/static/index.html
#10585 πŸ› fix: surface reporter-trust triage waits same files src/pkg/dashboard/static/index.html
#10576 ✨ dashboard: Agents tiles show minute countdown and 'up next' marker same files src/pkg/dashboard/static/index.html
#10578 πŸ› dashboard: Overview 'Actionable now' matches Governor counts same files src/pkg/dashboard/static/index.html
#10568 πŸ› dashboard: cap histories, dedupe intervals, cancel animations to stop tab memory growth same files src/pkg/dashboard/static/index.html
#10579 πŸ› dashboard: section titles match sidebar labels same files src/docs/api-reference.md
src/docs/dashboard.md
src/pkg/dashboard/static/index.html

Signed-off-by: Andy Anderson <andy@clubanderson.com>
@clubanderson
clubanderson merged commit b2782c4 into v5 Oct 5, 2026
60 of 61 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the fix/actionable-count-mismatch-10561 branch October 5, 2026 14:21
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

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

Labels

dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

πŸ› dashboard: Overview 'Actionable now' disagrees with Governor actionable issues + PRs

1 participant