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)
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, becausebuildDashboardModel.tsdeliberately redacts out-of-scope repo names. Exposing names needs a server-side field (src/server/state/buildDashboardModel.ts+ the affordance insrc/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 apilookups (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
batchOperationsPR #71 windows
events(7d default,?history=fullopt-in,src/server/dashboardHotPath.ts) but leftbatchOperationsunpaginated 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=fullopt-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)