Skip to content

feat(reports): leftover-map axis share on leftover-map graphic leftover-map axis ticks independently of leftover-map singular values (v2.89.0) - #873

Open
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-tick-share-badge-v2880from
feat/leftover-map-plot-tick-share-badge-v2890
Open

feat(reports): leftover-map axis share on leftover-map graphic leftover-map axis ticks independently of leftover-map singular values (v2.89.0)#873
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-tick-share-badge-v2880from
feat/leftover-map-plot-tick-share-badge-v2890

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Caption leftover-map graphic leftover-map axis ticks with persisted leftover-map axis share through leftoverMapPlotTickAxisBadge independently of leftover-map singular values (ADR 0332 / v2.89.0).
  • After make seed, leftover-map graphic leftover-map axis ticks name persisted leftover-map axis share when leftoverMapPlotTickAxisBadge returns a usable leftover-map axis tick leftover-map axis share caption even when leftover-map singular values are omitted; click a leftover pair opens that post.
  • Leftover-map graphic leftover-map axis ticks stay leftover-map axis {k} tick {value} {share}% when leftover-map axis share is finite and σ_k omits, and leftover-map axis {k} tick {value} σ {singular} {share}% when both are finite so they stay distinct from leftover-map comparison graphic leftover-map axis ticks leftover map comparison graphic leftover-map axis {k} tick {value} σ {singular} {share}% (ADR 0331), from leftover-map graphic leftover-map axis leftover-map axis {k} σ {value} ({share}%) (ADR 0324), from leftover-axis leftover axis {k} {share}% (ADR 0325), from comparison leftover-axis leftover map comparison leftover axis {k} {share}% (ADR 0323), from comparison graphic leftover-map axis leftover map comparison graphic leftover-map axis {k} σ {value} ({share}%) (ADR 0326), from comparison leftover-axis ticks leftover map comparison leftover axis {k} tick {value} σ {singular} (ADR 0329), from leftover-axis ticks leftover axis {k} tick {value} σ {singular} (ADR 0330), and from leftover-map graphic leftover-map axis ticks leftover-map axis {k} tick {value} σ {singular} (ADR 0327).
  • A missing or non-finite leftover-map axis share omits that leftover-map axis share tick caption and keeps leftover-map axis {k} tick {value} or leftover-map axis {k} tick {value} σ {singular}. Rank-0 unused axes still name leftover-map axis share 0%. Share and singular value omit independently. Do not invent leftover-map axis share from σ_k. Do not invent σ_k from leftover-map axis share.
  • UI-only; no SQL; no new columns. Never invent a leftover score. Never invent a theta. Do not persist leftover-map inner product, cosine, or length. This increment does not change leftover-map comparison graphic leftover-map axis ticks, leftover-map comparison leftover-axis ticks, or leftover-axis ticks.
  • Stacked onto leftover-map comparison graphic leftover-map axis tick leftover-map axis share as leftoverMapComparePlotTickAxisBadge (feat/leftover-map-compare-plot-tick-share-badge-v2880 / feat(reports): leftover-map axis share on leftover-map comparison graphic leftover-map axis ticks independently of leftover-map singular values (v2.88.0) #872 @ 7bdc562). 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. Issues Milestone 2: port verified direct-PostgreSQL analysis into the protected product architecture #79 and Milestone 2.1: add normalized runtime-analysis schema bridge after v0.77 #87 stay open. Do not merge revert: undo #782 squash until independent APPROVE #808 without independent APPROVE.

Test plan

  • leftoverMapPlotAxisSingular.test.ts leftoverMapPlotTickAxisBadge names 82%/18% with σ 1.84/0.86, share-only when σ omits, rank-0 share 0%, omits NaN/null share independently of σ, does not invent share from σ or σ from share, leftover-map comparison leftover-axis ticks and leftover-axis ticks stay σ-only
  • LeftoverMapPlot.test.tsx leftover-map graphic ticks with share present tick +0.50 σ 1.84 82% / tick −0.02 σ 0.86 18% / rank-0 tick 0.00 σ 0.00 0%; σ-omitted+share-present share-only tick +0.50 82%; NaN-share still σ-only; comparison ticks stay distinct
  • App.test.tsx leftover-map graphic tick leftover-map axis 1 tick +0.50 σ 1.84 82%
  • i18n.test.ts ko/zh/ja/vi share and singular-share tick keys
  • oxlint + tsc -b + vitest leftover-map + App (677 passed)

Devin Review

…er-map axis ticks independently of leftover-map singular values (v2.89.0)

Caption leftover-map graphic leftover-map axis ticks with persisted leftover-map axis share through leftoverMapPlotTickAxisBadge independently of leftover-map singular values (ADR 0332). Share and σ omit independently. Rank-0 unused axes still name leftover-map axis share 0%. Leftover-map comparison leftover-axis ticks and leftover-axis ticks stay σ-only. Do not invent leftover-map axis share from σ_k. Do not invent σ_k from leftover-map axis share. Never invent a leftover score or a theta. No new columns.
@coderabbitai

coderabbitai Bot commented Aug 31, 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: 0e3d4640-f94e-4541-a6ea-9d5c57f2ade1

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

Leave open for independent APPROVE. Do not self-approve. Frontend lint and leftover-map + App tests are green (677 passed, oxlint 0, tsc -b). After independent review, retarget onto leftover-coordinates rather than squash-merging onto the leftover base. Issues #79 and #87 stay open. Do not merge #808 without independent APPROVE.

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

Devin Review

Comment on lines +196 to +200
leftoverShare?: number | null,
): LeftoverMapCompareAxisBadge {
const singular = formatLeftoverMapPlotAxisSingular(leftoverSingular);
if (singular === null) {
const percent = formatLeftoverMapPlotAxisShare(leftoverShare);
if (singular === null && percent === null) {

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: Existing callers preserve old labels

An omitted leftoverShare formats as null. Existing three-argument calls therefore retain coordinate-only or singular-only labels.

Devin Review

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

Comment on lines 115 to +118
);
return tf(badge.key, badge.values);
}
const badge = leftoverMapPlotTickAxisBadge(axisIndex, tickLabel, leftoverSingular);
const badge = leftoverMapPlotTickAxisBadge(axisIndex, tickLabel, leftoverSingular, leftoverShare);

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 labels remain isolated

The comparison branch still uses leftoverMapComparePlotTickAxisBadge. Only report plots pass the share into leftoverMapPlotTickAxisBadge.

(Refers to this code)

Devin Review

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

Comment on lines 198 to +206
const singular = formatLeftoverMapPlotAxisSingular(leftoverSingular);
if (singular === null) {
const percent = formatLeftoverMapPlotAxisShare(leftoverShare);
if (singular === null && percent === null) {
return { key: LEFTOVER_MAP_PLOT_TICK, values: { axis: axisIndex, value: tickLabel } };
}
if (singular === null && percent !== null) {
return {
key: LEFTOVER_MAP_PLOT_TICK_SHARE,
values: { axis: axisIndex, value: tickLabel, share: percent },

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: Zero share remains visible

The shared formatter rejects only null and non-finite values. A persisted zero therefore renders as 0% instead of disappearing.

Devin Review

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

Copy link
Copy Markdown
Contributor Author

Cycle 2026-08-31T05:35Z: writes retry on #873. Devin's three notes (omitted leftoverShare keeps 3-arg σ-only labels; comparison ticks stay leftoverMapComparePlotTickAxisBadge; rank-0 share 0% remains visible) match ADR 0332 and are not defects. Independent APPROVE still required. Do not self-approve. Do not squash leftover stack onto unprotected leftover base. Next stacked increment is leftover-map comparison leftover-axis ticks with leftover-map axis share independently of leftover-map singular values (leftoverMapCompareAxisTickBadge, v2.90.0 / ADR 0333) onto this head. Issues #79 and #87 stay open. Do not merge #808 without independent APPROVE.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Leave open for independent APPROVE. Do not self-approve. Devin infos match ADR 0332 (share omits independently; comparison ticks stay on leftoverMapComparePlotTickAxisBadge; rank-0 share 0% remains). After independent review, retarget onto leftover-coordinates rather than squash-merging onto the leftover base. Issues #79 and #87 stay open. Do not merge #808 without independent APPROVE.

Copy link
Copy Markdown
Contributor Author

Cycle 2026-08-31 14:40 KST: leftover-map graphic leftover-map axis tick leftover-map axis share (ADR 0332 / v2.89.0) remains MERGEABLE at 923bcfe with Frontend lint SUCCESS and Full test suite SUCCESS. Independent APPROVE still required. Do not self-approve. Do not squash-merge. #874 (v2.90.0) is stacked on this head. Issues #79 and #87 stay open. Do not merge #808.

Copy link
Copy Markdown
Contributor Author

Cycle 2026-08-31 15:24 KST: leave open for independent APPROVE. Devin COMMENT is not independent APPROVE. Do not self-approve. Do not squash-merge. Stacked #874 (ADR 0333) remains MERGEABLE at ba58c21. Next increment ADR 0334 names leftover-axis ticks leftover-map axis share as leftoverMapAxisTickBadge independently of leftover-map singular values. Issues #79 and #87 stay open.

Copy link
Copy Markdown
Contributor Author

Cycle note (2026-08-31 15:24 KST): stacked leftover-map PRs stay open. #874 (v2.90.0 / ADR 0333) is green with Devin COMMENT only — not independent APPROVE. Next increment ADR 0334 leftover-axis ticks leftover-map axis share as leftoverMapAxisTickBadge stacks onto #874. Do not self-approve. Do not squash-merge.

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