Skip to content

feat(reports): leftover-map item coverage on grouping comparison graphic (v2.64.0) - #846

Open
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-coverage-v2630from
feat/leftover-map-compare-plot-item-coverage-v2640
Open

feat(reports): leftover-map item coverage on grouping comparison graphic (v2.64.0)#846
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-coverage-v2630from
feat/leftover-map-compare-plot-item-coverage-v2640

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Caption leftover-map item complete-case coverage on the grouping comparison leftover-map graphic from already-named leftover_map_coverage (ADR 0307 / v2.64.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, leftover-map complete-case coverage when leftoverMapCoverageCounts returns usable complete-case integers, and leftover map used N of M scored criteria (complete-case) on that comparison graphic when leftoverMapItemCoverageCounts returns usable complete-case integers; click a post marker or a pair button opens that post.
  • Comparison copy uses accessible name Leftover map comparison graphic item coverage so it stays distinct from hyphen Leftover-map graphic item coverage on the period-report graphic and from strip Leftover map comparison item coverage. A missing, non-integer, negative-used, non-positive-scored, or used-greater-than-scored item coverage omits that leftover-map comparison graphic item coverage caption and keeps leftover-map comparison graphic coverage when leftoverMapCoverageCounts returns usable complete-case integers. Coverage 0 of M is shown when that persisted used count is a non-negative integer. Rank-0 origin cells still name item coverage when that item coverage is persisted.
  • Post coverage and item coverage omit independently. A used-greater-than-scored post count omits leftover-map comparison graphic coverage and keeps a usable item caption. A used-greater-than-scored item count omits leftover-map comparison graphic item coverage and keeps a usable post caption.
  • This increment does not caption leftover-map incomplete post coverage or leftover-map incomplete item coverage on the comparison graphic. Those notes already sit on the strip through ADR 0291–0292.
  • Do not invent leftover-map item coverage from plotted criterion marker count, leftover pair count, leftover-map rank, leftover-map distance, leftover-map axis share, leftover expected, leftover observed, leftover residual, leftover-map reconstruction, leftover-map unexplained leftover, leftover-map post coverage, leftover-map incomplete post coverage, leftover-map incomplete item coverage, or the count of unused axes. A finite negative leftover is shown, never clamped.
  • No SQL; no new columns. Distinct from the ADR 0306 comparison graphic coverage. Never invent a leftover score. Never invent a theta. Do not persist leftover-map inner product, cosine, or length.
  • Stacked onto leftover-map coverage on grouping comparison leftover-map graphic (feat/leftover-map-compare-plot-coverage-v2630 / feat(reports): leftover-map coverage on grouping comparison graphic (v2.63.0) #845 @ 7c026df). 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/App.test.tsx src/components/LeftoverPairList.test.tsx src/components/LeftoverMapPlot.test.tsx src/leftoverMapPlotLayout.test.ts src/leftoverMapPlotAxisShare.test.ts src/leftoverMapCoverage.test.ts src/leftoverMapCoordinates.test.ts src/i18n.test.ts: 470 tests 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: ok.
  • PostgreSQL period-report compare tests were not executed here (no live Compose PostgreSQL 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

…hic (v2.64.0)

Caption leftover-map item complete-case coverage on the grouping comparison leftover-map graphic from already-named leftover_map_coverage (ADR 0307). Distinct accessible name Leftover map comparison graphic item coverage. Omit incomplete notes on that comparison plot. Never invent a leftover score or a theta.
@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: 2cafc074-063c-44b1-8850-a1b8eb3a28ca

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.

Copy link
Copy Markdown
Contributor Author

Write probe after open. Independent APPROVE is required. This comment is not a review. The only repository collaborator is seonghobae, so an independent reviewer cannot be requested this cycle. Copilot/Devin COMMENT is not independent APPROVE. Leave open. Do not squash-merge onto the unprotected leftover base. Do not self-approve. After independent review, retarget onto leftover-coordinates (#782) rather than squash-merging here.

@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 found 2 potential issues.

Devin Review

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📝 Info: Coverage validation remains independent

leftoverMapCoverageCounts and leftoverMapItemCoverageCounts validate separate fields. A malformed count suppresses only its own comparison-graphic caption.

(Refers to this code)

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📝 Info: Captions cannot outlive the graphic

layoutLeftoverMapPlot gates the entire figure before coverage rendering. Missing plottable coordinates omit both the comparison graphic and its item caption.

(Refers to this code)

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor Author

Stacked next increment opened as leftover-map incomplete post coverage on the grouping comparison leftover-map graphic (ADR 0308 / v2.65.0) on feat/leftover-map-compare-plot-incomplete-post-v2650 @ 6707725. Distinct accessible name Leftover map comparison graphic incomplete posts. Leave #846 and the stacked increment open for independent review. Do not squash-merge. This comment is not a review.

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