feat(reports): grouping comparison item coverage (v2.48.0) - #822
feat(reports): grouping comparison item coverage (v2.48.0)#822seonghobae wants to merge 3 commits into
Conversation
…omparison strip (v2.47.0)
Caption persisted leftover-map item complete-case coverage on GET /api/reports/compare/{period} through leftoverMapItemCoverageCounts (ADR 0290). Distinct aria-label Leftover map comparison item coverage. Omit when counts are unusable. Do not invent coverage from leftover pair count. No SQL. No leftover score or theta.
|
Write-retry this cycle (seonghobae MCP). #822 is leftover-map v2.47 grouping comparison item complete-case coverage at Do not merge #808 without independent APPROVE. Issues #79 and #87 stay open. #96 is already closed. |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| const comparisonItemCoverageCounts = leftoverMapItemCoverageCounts( | ||
| row.leftover_map_coverage, | ||
| ); |
There was a problem hiding this comment.
| {comparisonItemCoverageCounts !== null ? ( | ||
| <p className="post-meta" role="note" aria-label={t(LEFTOVER_MAP_COMPARE_ITEM_COVERAGE_LABEL)}> | ||
| {tf(LEFTOVER_MAP_PLOT_ITEM_COVERAGE, comparisonItemCoverageCounts)} | ||
| </p> | ||
| ) : null} |
|
Write-retry this cycle (seonghobae gh). #822 leftover-map item complete-case coverage on the grouping comparison strip (v2.47.0 / ADR 0290) stays open at |
|
Cycle 2026-08-30T14:20Z: still waiting on independent APPROVE of exact head |
|
Stacked next buyer gap opened as #824 ( |
seonghobae
left a comment
There was a problem hiding this comment.
Parent-first finding: Ready is premature while base #821 and the upstream leftover-map stack remain unmerged. Preserve this item-coverage increment and return the dependent PR to Draft.
seonghobae
left a comment
There was a problem hiding this comment.
Current-head authority review: the product/ADR delta is already non-force converged onto current #821 (5d9ed038a8525736ba47d5a80e4ff04edfbab28c, fresh compare ahead 2 / behind 0), but the PR body still named obsolete parent/head topology and predecessor verification as if current. That is a repair finding because stack authority and evidence attribution must follow the live head. I updated the body to the current parent/head and explicitly stopped predecessor test observations from transferring. Keep Draft while inherited Vietnamese terminology and current-head hosted/browser/a11y/independent-review evidence remain unresolved.
seonghobae
left a comment
There was a problem hiding this comment.
Fresh descendant review while #821 is being reconstructed from exact #820:
- The item complete-case coverage delta remains valid, but this historical head's ADR 0290 / v2.47.0 identity cannot survive unchanged. #821 now owns that successor slot for grouping-comparison post complete-case coverage after #820 ADR 0289 / v2.46.0.
- Do not close or retarget around #821. Once #821's clean product tree is promoted, reconstruct this delta from the exact new #821 head under the next unique ADR/release identity, preserving the parent's full-visible-grouping authorization boundary. The same confidentiality rule applies: persisted item-coverage denominators must not be exposed for a grouping whose persisted member population is only partially caller-visible; do not recompute psychometric item coverage from visible rows, leftover pairs, or criterion markers.
- The body statement that the Vietnamese terminology regression is still unresolved is stale; upstream current-parent convergence already preserved that repair. Replace it with exact current-parent/browser/a11y/eight-locale evidence requirements rather than carrying a solved blocker forward.
Keep Draft; predecessor tests/reviews do not transfer. No force push, destructive rebase, self-approval, identity reuse, or parent bypass.
seonghobae
left a comment
There was a problem hiding this comment.
Current-parent reconstruction review: the v2.48 product delta remains valid; the recent failures are harness/environment findings, not grounds to close or weaken the product contract. r7 proved uv sync --frozen --extra dev --extra backend succeeds, then failed immediately at npm --prefix frontend ci. Exact #821 CI authority uses Corepack + pnpm install --frozen-lockfile, not npm, and the backend path pins Rust 1.97.1 before the backend extra. r9 therefore restores those repository-authoritative dependency boundaries before evaluating ADR0291, full-visible-grouping authorization, release identity, frontend composition, lint, production build, and Storybook. Do not promote this historical head or inherit predecessor GREEN unless the workflow-free current-parent tree is fully verified.
Summary
Caption grouping-comparison item complete-case coverage through the persisted LineageWeave coverage aggregate (ADR0291 / v2.48.0). The UI does not invent item coverage from pair counts, plotted markers, rank, or another coverage field.
Current product ancestry
Exact parent is #821
93eaa40f34098678fd53da4dbdccb1782dfd41a7. Reconstruction r934066701457/ job101576606683completed terminal GREEN after restoring the repository-authoritative dependency boundary: Rust 1.97.1, frozenuvdev+backend, Corepack, and frozenpnpm. It passed the realistic ADR0291 RED→minimal fix path, ADR0290/0291 governance, full-visible-group authorization coverage, synchronized release identity, frontend item-coverage composition, oxlint, production build, Storybook, final authority assertions, and workflow-free staging.Clean staging commit
121fbdc02b9cde367a1e76064d333e6cbbea9742, tree7fa2127291527318f7cdc233cfd102794a7f17e8, was independently materialized; the temporary r9 workflow is absent from that staging tree. That same tree was recreated as product commit724872a34469c84064d5a72b07c6acf16de8a760, with first parent historical #822c5f9653a889841da7b524e8763d1aae8f6eb2c46and second parent exact #82193eaa40f34098678fd53da4dbdccb1782dfd41a7, then the product branch advanced withforce=false.ADR0291 remains Proposed while Draft; package/frontend/runtime identity is 2.48.0. Reconstruction GREEN proves the reconstructed tree only and is not transferred as hosted exact-product-head required GREEN or independent approval.
Authorization invariant inherited from #821
Persisted item coverage is shown only when caller-visible persisted grouping membership equals the complete persisted grouping membership. Partial visibility omits the aggregate, avoiding hidden denominator disclosure; psychometric coverage is never recomputed from the visible subset.
Harness RCA retained for traceability
Earlier r1–r8 failures were validation-harness/environment defects rather than grounds to discard the valid product delta. In particular r7/r8 proved Python backend installation succeeded and isolated failure to an incorrect npm frontend-install command. Exact repository CI uses Corepack and
pnpm install --frozen-lockfile; r9 adopted that contract instead of weakening tests or changing product behavior. Review5126951712records the configuration finding.Descendant boundary
#823 is explicitly serialized after this branch for ADR0292/v2.49.0, #824 after #823 for ADR0293/v2.50.0, and #825 after #824 for ADR0294/v2.51.0. Their historical heads remain evidence until each exact-parent reconstruction is GREEN; do not bypass or close them merely to resolve historical identity collisions.
UI / locale evidence boundary
Targeted reconstruction, build, and Storybook evidence are GREEN, but material-UI delivery is not complete. Eight-locale DB-backed translation authority remains #929/#932, and fresh exact-product-head hosted checks plus rendered responsive/browser/keyboard/focus/a11y acceptance are still required.
Keep Draft. No force-push, destructive rebase, self-approval, gate weakening, predecessor-evidence transfer, or invented measurement values.