Skip to content

feat(reports): leftover-map reconstruction on grouping comparison graphic (v2.67.0) - #850

Open
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-incomplete-item-v2660from
feat/leftover-map-compare-plot-reconstruction-v2670
Open

feat(reports): leftover-map reconstruction on grouping comparison graphic (v2.67.0)#850
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-incomplete-item-v2660from
feat/leftover-map-compare-plot-reconstruction-v2670

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Caption leftover-map reconstruction on the grouping comparison leftover-map graphic from already-named leftover_map_reconstruction (ADR 0310 / v2.67.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, leftover-map item complete-case coverage when leftoverMapItemCoverageCounts returns usable complete-case integers, leftover-map incomplete post coverage when leftoverMapIncompletePostCount returns a usable dropped integer, leftover-map incomplete item coverage when leftoverMapIncompleteItemCount returns a usable dropped integer, and leftover-map reconstruction R̂ on that comparison graphic when formatLeftoverMapReconstruction returns a usable signed badge; click a post marker or a pair button opens that post.
  • Comparison copy uses accessible name leftover map comparison graphic reconstruction {label} so it stays distinct from hyphen leftover-map reconstruction {label} on the period-report graphic and from strip Leftover map comparison reconstruction. A missing or non-finite omits that leftover-map comparison graphic reconstruction caption and keeps leftover-map distance d, leftover-map comparison graphic coverage, leftover-map comparison graphic item coverage, leftover-map comparison graphic incomplete posts, and leftover-map comparison graphic incomplete items when those helpers return usable integers. Rank-0 origin cells still name R̂ 0.00 when that persisted reconstruction is finite.
  • Reconstruction omits independently of leftover-map distance and coverage notes. A missing reconstruction omits leftover-map comparison graphic reconstruction and keeps a usable distance caption and usable coverage notes.
  • This increment does not caption leftover-map explained leftover share on the comparison graphic. That explained leftover share already sits on the strip through ADR 0294.
  • Do not invent leftover-map reconstruction from leftover-map distance, plotted coordinates, leftover residual, leftover-map unexplained leftover, leftover-map rank, leftover-map axis share, leftover expected, leftover observed, leftover-map post coverage, leftover-map item coverage, leftover-map incomplete post coverage, leftover-map incomplete item coverage, leftover pair count, or the count of unused axes. A finite negative leftover is shown, never clamped.
  • No SQL; no new columns. Distinct from the ADR 0293 comparison strip reconstruction. Never invent a leftover score. Never invent a theta. Do not persist leftover-map inner product, cosine, or length.
  • Stacked onto leftover-map incomplete items on grouping comparison leftover-map graphic (feat/leftover-map-compare-plot-incomplete-item-v2660 / feat(reports): leftover-map incomplete items on grouping comparison graphic (v2.66.0) #849 @ 43ce193). 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: 790 tests passed.
  • pnpm exec oxlint src: 0 warnings, 0 errors.
  • python3 -m py_compile on lineageweave and backend app modules: 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

…phic (v2.67.0)

Caption persisted leftover-map reconstruction R̂ on the grouping comparison
leftover-map graphic from already-named leftover_map_reconstruction (ADR 0310).
Comparison copy uses leftover map comparison graphic reconstruction {label}
so it stays distinct from hyphen leftover-map reconstruction {label} and from
strip Leftover map comparison reconstruction. A missing or non-finite R̂ omits
that caption and keeps leftover-map distance and comparison graphic coverage
notes. Rank-0 origin cells still name R̂ 0.00 when that reconstruction is
finite. Do not invent R̂ from leftover-map distance or plotted coordinates.
Never invent a leftover score. Never invent a theta. No new columns.
@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: 6b2343e7-b5ae-448e-aee0-540f95107cb4

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

Devin Review

Comment on lines +313 to +318
aria-label={tf(
variant === "comparison"
? LEFTOVER_MAP_COMPARE_PLOT_SEGMENT_RECONSTRUCTION
: LEFTOVER_MAP_PLOT_SEGMENT_RECONSTRUCTION,
{ label: segment.reconstructionLabel },
)}

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: Report labels remain unchanged

The variant branch changes only comparison accessibility copy. Report plots retain the existing template and both variants use the same validated value.

Devin Review

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

export const LEFTOVER_MAP_PLOT_SEGMENT_RECONSTRUCTION =
"leftover-map reconstruction {label}";

export { LEFTOVER_MAP_COMPARE_PLOT_SEGMENT_RECONSTRUCTION } from "./leftoverMapReconstruction";

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: Comparison copy has one source

The layout module re-exports the reconstruction label instead of duplicating it. Formatter and component callers therefore share one constant.

Devin Review

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

Copy link
Copy Markdown
Contributor Author

Queue retry: leftover-map reconstruction on grouping comparison graphic (v2.67.0 / ADR 0310). Independent APPROVE required before squash-merge. Do not self-approve. Next stacked increment is leftover-map explained leftover share on that comparison graphic (ADR 0311 / v2.68.0). Do not caption unexplained leftover share this next increment. Issues #79 and #87 stay open.

Copy link
Copy Markdown
Contributor Author

Cycle retry 2026-08-31 06:25 KST: exact head 85451d8 still has no independent APPROVE (Devin COMMENT only). Leave #850 open. Do not self-approve. Do not squash-merge onto the unprotected leftover base. After independent review, retarget onto leftover-coordinates (#782, already on main) rather than squash-merging here.

Next stacked increment (ADR 0311 / v2.68.0) captions leftover-map explained leftover share on the grouping comparison leftover-map graphic with distinct accessible name leftover map comparison graphic explained leftover share {label}. It does not caption unexplained leftover share this increment. Stack onto this PR; leave that PR open for independent 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