feat(reports): leftover-map cross share on grouping comparison strip (v2.53.0) - #831
Conversation
…(v2.53.0) Caption persisted leftover-map cross share x = 2R̂U/R² on grouping comparison leftover-pair buttons through formatLeftoverMapCrossShare (ADR 0296). Distinct aria-label Leftover map comparison cross share. Missing or non-finite x omits that badge and keeps s, e, R̂, d, and coverage notes. Do not invent x from R̂, U, and R. Finite negative share is shown, never clamped. UI-only; no new columns.
|
Cycle probe 2026-08-31 ~00:50 KST. Writes work (comment/close/create-PR/push). Token still empty X-OAuth-Scopes; GitHub App Grok has contents/PR/issues write as seonghobae. This PR (#831 / v2.53.0 / ADR 0296 / Verification: Leave open for independent review. Do not squash-merge onto the leftover base. Do not self-approve. Copilot review is not independent APPROVE. Stacked onto #829 @ Next buyer increment after this: leftover-map unexplained leftover |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
| const crossShare = formatLeftoverMapCrossShare( | ||
| pair.leftover_map_cross_share, | ||
| ); |
There was a problem hiding this comment.
🟡 Comparison cross share never appears
For real responses, formatLeftoverMapCrossShare receives undefined; the comparison payload never selects the persisted cross share. The badge only appears with mocked data.
Prompt for agents
Update backend/app/report_ingestion.py fetch_period_comparison so its leftover-pair query selects report_leftover_pair.leftover_map_cross_share and its response payload serializes that value as a nullable float. Add or extend backend comparison-endpoint tests to verify finite, zero, negative, null, and authorization-filtered values reach the frontend contract. Keep the frontend formatter as the fail-closed display boundary.
Was this helpful? React with 👍 or 👎 to provide feedback.
|
Queue cycle 2026-08-31T01:06KST: write probe. Leave open for independent review. Do not self-approve. |
|
Cycle 2026-08-31T01:19 KST: write-retry on #831 (v2.53.0 leftover-map cross share). Independent APPROVE required; no self-approve. Next buyer gap continues from this head if checks/reviews allow. |
|
Stacked #833 ( |
|
Cycle 2026-08-31 01:19 KST. Head Downstream: #833 (U / v2.54.0 on this head) then local residual |
Summary
xon grouping comparison leftover-pair buttons through formatLeftoverMapCrossShare (ADR 0296 / v2.53.0).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 matchdon the pair row, pair segments that matchR̂on the pair row, pair segments that matchR̂²/R²on the pair row, pair segments that matchU²/R²on the pair row, pair segments that match2R̂U/R²on the pair row, pair segments that matchUon the pair row, pair segments that matchRon the pair row, pair segments that matchYon the pair row, pair segments that matchEon 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, a grouping comparison note that matches leftover-map post complete-case coverage, a grouping comparison note that matches leftover-map item complete-case coverage, a grouping comparison note that matches leftover-map incomplete post coverage, a grouping comparison note that matches leftover-map incomplete item coverage, grouping comparison leftover-pair buttons that match leftover-map reconstructionR̂on the pair row, grouping comparison leftover-pair buttons that match leftover-map explained leftover shareeon the pair row, grouping comparison leftover-pair buttons that match leftover-map unexplained leftover shareson the pair row, and grouping comparison leftover-pair buttons that match leftover-map cross sharexon the pair row; click a post marker or a pair button opens that post.xomits that leftover-map comparison cross share badge and keeps leftover-map unexplained leftover shareswhen finite, leftover-map explained leftover shareewhen finite, leftover-map reconstructionR̂when finite, leftover-map distanced, the strip leftover-map post coverage note, leftover-map item coverage note, leftover-map incomplete post note, leftover-map incomplete item note, leftover pairs, and any leftover-map captions on the pair list and graphic. Rank-0 origin cells still name2R̂U/R² 0.00when that persisted share is finite. A finite negative share is shown, never clamped. Do not inventxfromR̂,U, andR, leftover-map distance, plotted coordinates, leftover-map reconstruction, leftover residual, leftover-map explained leftover share, leftover-map unexplained leftover share, leftover-map rank, leftover-map post coverage, leftover-map item coverage, leftover-map incomplete post coverage, leftover-map incomplete item coverage, or the count of unused axes.Leftover map comparison cross share. Copy is the same2R̂U/R² {value}formatter as the pair-row badge. The strip does not gain the leftover-map graphic. Never invent a leftover score. Never invent a theta. Do not persist leftover-map inner product, cosine, or length.feat/leftover-map-compare-unexplained-share-v2520/ feat(reports): leftover-map unexplained leftover share on grouping comparison strip (v2.52.0) #829 @4d82c28). 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/leftoverMapCrossShare.test.ts src/leftoverMapUnexplainedShare.test.ts src/leftoverMapExplainedShare.test.ts src/leftoverMapReconstruction.test.ts src/i18n.test.ts src/App.test.tsx: 6 files, 310 passed.pnpm exec oxlinton changed frontend files: 0 warnings, 0 errors.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.