Skip to content

feat(reports): leftover-map complete-case coverage on grouping comparison strip (v2.46.0) - #821

Open
seonghobae wants to merge 1 commit into
feat/leftover-map-list-post-coverage-helper-v2450from
feat/leftover-map-compare-coverage-v2460
Open

feat(reports): leftover-map complete-case coverage on grouping comparison strip (v2.46.0)#821
seonghobae wants to merge 1 commit into
feat/leftover-map-list-post-coverage-helper-v2450from
feat/leftover-map-compare-coverage-v2460

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Caption leftover-map post complete-case coverage on the grouping comparison strip through leftoverMapCoverageCounts (ADR 0289 / v2.46.0).
  • After make seed, closest and farthest leftover pairs sit above the member list with the Gabriel biplot of already-named coordinates, leftover-map axis share when finite, axis ticks that match ξ (x, y) ζ (x, y) on the pair row, pair segments that match d on the pair row, pair segments that match on the pair row, pair segments that match R̂²/R² on the pair row, pair segments that match U²/R² on the pair row, pair segments that match 2R̂U/R² on the pair row, pair segments that match U on the pair row, pair segments that match R on the pair row, pair segments that match Y on the pair row, pair segments that match E on the pair row, pair segments that match leftover-map rank on the pair row, a plot caption that matches leftover-map complete-case coverage above the pair list, a plot caption that matches leftover-map item complete-case coverage, a plot caption that matches leftover-map incomplete post coverage, a plot caption that matches leftover-map incomplete item coverage, a pair-list note that matches leftover-map post complete-case coverage, a pair-list note that matches leftover-map item complete-case coverage, a pair-list note that matches leftover-map incomplete post coverage, a pair-list note that matches leftover-map incomplete item coverage, and a grouping comparison note that matches leftover-map post complete-case coverage; click a post marker or a pair button opens that post.
  • A missing, non-integer, negative used, non-positive scored, or used-greater-than-scored coverage omits that leftover-map comparison coverage note and keeps leftover pairs, leftover-map distance d, and any leftover-map distance, reconstruction, explained leftover share, unexplained leftover share, leftover-map cross share, unexplained leftover, leftover residual, leftover observed, leftover expected, leftover-map rank, leftover-map post coverage, leftover-map item coverage, leftover-map incomplete post, or leftover-map incomplete item caption on the pair list and graphic. Coverage 0 of M is shown when that persisted used count is a non-negative integer and scored is a positive integer. Do not invent post coverage from leftover pair count, plotted marker count, leftover-map distance, leftover-map rank, leftover-map item coverage, leftover-map incomplete post coverage, leftover-map incomplete item coverage, or the count of unused axes.
  • Compare payload + UI; no SQL; no new columns. Distinct aria-label Leftover map comparison coverage. The strip does not gain leftover-map item coverage, leftover-map incomplete post coverage, leftover-map incomplete item coverage, or the leftover-map graphic. Never invent a leftover score. Never invent a theta. Do not persist leftover-map inner product, cosine, or length.
  • Stacked onto leftover-map post complete-case coverage fail-closed on the pair list (feat/leftover-map-list-post-coverage-helper-v2450 / feat(reports): fail-close leftover-map pair-list post coverage (v2.45.0) #819 @ a2c96551). Leave this PR open for independent review. Do not squash-merge onto the unprotected leftover base. Do not self-approve. After independent review, retarget onto leftover-coordinates (feat/leftover-map-coordinates-v2240 / feat(reports): persist leftover-map coordinates (v2.24.0) #782) rather than squash-merging here.

Verification

  • pnpm exec vitest run src/leftoverMapCoverage.test.ts src/i18n.test.ts src/App.test.tsx: 3 files, 287 passed.
  • pnpm exec oxlint on changed frontend files: 0 warnings, 0 errors.
  • python3 -m py_compile backend/app/report_ingestion.py backend/tests/test_api.py.
  • PostgreSQL period-report compare tests were not executed here (no seeded Postgres in this sandbox).

Evidence boundary

Authenticated PostgreSQL API and k6 runtime acceptance are not claimed. No real records or credentials. Synthetic fixtures only.

Independent approval is required. No self-approval, admin bypass, or force push.

Jeon, M., Jin, I. H., Schweinberger, M., & Baugh, S. (2021). Mapping unobserved item–respondent interactions: A latent space item response model with interaction map. Psychometrika, 86(2), 378–403.

Gabriel, K. R. (1971). The biplot graphic display of matrices with application to principal component analysis. Biometrika, 58(3), 453–467.


Devin Review

…ison strip (v2.46.0)

Caption persisted leftover-map post complete-case coverage on GET /api/reports/compare/{period} through leftoverMapCoverageCounts (ADR 0289). Distinct aria-label Leftover map comparison coverage. Omit when counts are unusable. Do not invent coverage from leftover pair count. No SQL. No leftover score or theta.

Copy link
Copy Markdown
Contributor Author

Write-retry this cycle (seonghobae MCP). #821 is leftover-map v2.46 grouping comparison complete-case coverage at 11a78553 (ADR 0289), stacked on #819 @ a2c96551. Distinct aria-label Leftover map comparison coverage. Do not squash-merge onto an unprotected leftover base. Do not self-approve. Independent APPROVE still required. Copilot/Devin COMMENT is not independent APPROVE.

Do not merge #808 without independent APPROVE. Issues #79 and #87 stay open. #96 is already closed.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a9a00322-f167-40ba-b03b-db075c1d1aa5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

Copy link
Copy Markdown
Contributor Author

Stacked #822 (feat/leftover-map-compare-item-coverage-v2470 @ 6726353, ADR 0290 / v2.47.0) onto this head. Grouping comparison strip now names persisted leftover-map item complete-case coverage. Leave both PRs open. Independent APPROVE still required. Do not self-approve. Do not squash-merge onto this unprotected leftover base.

Copy link
Copy Markdown
Contributor Author

Write-retry this cycle (seonghobae gh). Standing leftover-map constraint: grouping comparison strip (ADR 0149) stays on its reduced leftover payload and does not gain leftover-map captions. This cycle stacked leftover-map singular values on graphic axes as #820 (v2.46 / ADR 0289) and leftover-axis badges as #823 (v2.47 / ADR 0290) onto #819 instead. Do not squash-merge onto an unprotected leftover base. Do not self-approve. Independent APPROVE still required. Do not merge #808 without independent APPROVE.

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