Skip to content

Optional dashboard follow-ups from batch acd-datafix: excluded-repo names, GraphQL batching, history windowing #107

Description

@justin808

Batch acd-datafix-20260715-2339 (PRs #70#73, July 2026) left four explicitly-optional "review later" items in its PR decision logs. The completed-batch audit (receipt on PR #72) flagged that they had no durable home. Consolidating them here so they can be scheduled or closed deliberately; none is release-blocking.

1. Expose excluded-repo names for the Target repositories affordance

PR #72 collapsed the "Skipped N records outside saved target repositories" banners into a per-record-type count affordance on the Target repositories row (src/client/App.tsx). Operators see counts, not which repos are excluded, because buildDashboardModel.ts deliberately redacts out-of-scope repo names. Exposing names needs a server-side field (src/server/state/buildDashboardModel.ts + the affordance in src/client/App.tsx) and a decision about the redaction boundary. Source: PR #72 decision log.

2. GraphQL-batched reconciliation lookups

PR #71 parallelized per-reference gh api lookups (cap 24, src/server/github/githubClient.ts), but the once-per-TTL cold refresh at 6 target repos still costs ~11–18s because hundreds of REST calls fan out. Batching target/branch evidence via GraphQL would cut spawn count and the cold-refresh floor. Source: PR #71 decision log ("Review-later: raising further or batching lookups via GraphQL").

3. Windowing/pagination for batchOperations

PR #71 windows events (7d default, ?history=full opt-in, src/server/dashboardHotPath.ts) but left batchOperations unpaginated because they are small per-batch aggregates today. If they grow, apply the same hot-window pattern. Source: PR #71 decision log.

4. Client toggle for full history

The ?history=full opt-in exists server-side only; the client always fetches the windowed default (src/client/api.ts). A UI toggle (and/or per-view opt-in) would make the full-history path reachable without curl. Source: PR #71 decision log.

Origin: completed-batch audit finding pr-72:optional-followup-unfiled; batch handoff #72 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions