Skip to content

feat(reports): leftover-map coordinate ticks on grouping comparison graphic (v2.77.0) - #860

Draft
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-distance-v2760from
feat/leftover-map-compare-plot-ticks-v2770
Draft

feat(reports): leftover-map coordinate ticks on grouping comparison graphic (v2.77.0)#860
seonghobae wants to merge 1 commit into
feat/leftover-map-compare-plot-distance-v2760from
feat/leftover-map-compare-plot-ticks-v2770

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Caption persisted leftover-map coordinate ticks on the grouping comparison leftover-map graphic from already-named leftover-map coordinates (ADR 0320 / v2.77.0).

Stacked on #859 @ 9ba8535. Independent APPROVE required on this exact head before squash-merge. Do not self-approve. Do not squash-merge onto the unprotected leftover base. Issues #79 and #87 stay open. Do not merge #808 without independent APPROVE.

Comparison copy uses leftover map comparison graphic leftover-map axis {axis} tick {value} so it stays distinct from hyphen leftover-map axis {axis} tick {value} and from comparison axis-share leftover map comparison axis {axis} ({share}%). Ticks sit at the origin and at each unique finite persisted ξ / ζ projection. Rank-0 origin cells still name leftover-map comparison graphic leftover-map axis tick 0.00. Do not invent evenly spaced ticks that no persisted coordinate occupies. This increment does not caption leftover-map singular values on the comparison graphic with a distinct name. Do not invent leftover-map coordinate ticks from leftover-map distance. Never invent a leftover score. Never invent a theta. No new columns.

Synthetic fixtures only.


Devin Review

…raphic (v2.77.0)

Caption persisted leftover-map coordinate ticks on the grouping
comparison leftover-map graphic from already-named leftover-map
coordinates (ADR 0320). Comparison copy uses leftover map comparison
graphic leftover-map axis {axis} tick {value} so it stays distinct from
leftover-map axis {axis} tick {value} and from leftover map comparison
axis {axis} ({share}%). Origin and unique finite xi / zeta projections
only. Rank-0 origin cells still name leftover-map comparison graphic
leftover-map axis tick 0.00. Do not invent evenly spaced ticks.
Do not caption leftover-map singular values this increment.
Do not invent leftover-map coordinate ticks from leftover-map distance.
Never invent a leftover score. Never invent a theta. No new columns.

Copy link
Copy Markdown
Contributor Author

Cycle 2026-08-31T00:28Z. Exact head 40fa5bd (v2.77.0 / ADR 0320 leftover-map coordinate ticks on grouping comparison leftover-map graphic). Independent APPROVE required on this exact head before squash-merge. Copilot/Devin COMMENT is not independent APPROVE. Do not self-approve. Do not squash-merge onto the unprotected leftover base. Issues #79 and #87 stay open. Do not merge #808 without independent APPROVE.

Frontend vitest: leftoverMapPlotLayout, LeftoverMapPlot, i18n, App — 520 passed. Oxlint on changed files: 0 warnings, 0 errors. Synthetic fixtures only. Next deferred increment (explicit in ADR 0320): leftover-map singular values on the grouping comparison leftover-map graphic. Never invent a leftover score. Never invent 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: 0b416ab0-ead3-47d3-b0ca-71f7728040a5

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 4 potential issues.

Devin Review

Comment on lines +312 to +317
aria-label={tf(
variant === "comparison"
? LEFTOVER_MAP_COMPARE_PLOT_TICK
: LEFTOVER_MAP_PLOT_TICK,
{ axis: tick.axis, value: tick.label },
)}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Nearby coordinates lose comparison ticks

When distinct coordinates share a two-decimal label, layout.ticks contains only the first. The comparison graphic therefore omits a required coordinate tick.

Prompt for agents
ADR 0320 requires a tick at every unique finite persisted coordinate, but frontend/src/leftoverMapPlotLayout.ts uniqueCoordinateTicks deduplicates coordinates by their formatted two-decimal labels. Distinct values such as 0.001 and 0.002 collapse into one tick before LeftoverMapPlot renders the comparison labels. Preserve uniqueness by numeric coordinate while still using the shared formatter for display. Ensure React keys remain unique when multiple coordinates have the same displayed label, and add layout/component tests covering distinct same-label coordinates.
Devin Review

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

Comment on lines +312 to +317
aria-label={tf(
variant === "comparison"
? LEFTOVER_MAP_COMPARE_PLOT_TICK
: LEFTOVER_MAP_PLOT_TICK,
{ axis: tick.axis, value: tick.label },
)}

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 tick names remain stable

The variant branch changes only comparison tick names. Existing report plots retain LEFTOVER_MAP_PLOT_TICK, and the production comparison caller supplies the required variant.

Devin Review

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

Comment on lines +113 to +114
export const LEFTOVER_MAP_COMPARE_PLOT_TICK =
"leftover map comparison graphic leftover-map axis {axis} tick {value}";

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: Tick sources remain coordinate-bound

layoutLeftoverMapPlot still derives ticks only from finite persisted projections plus zero. Collapsed drawing scale adds no synthetic tick values.

Devin Review

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

Comment thread frontend/package.json
"name": "frontend",
"private": true,
"version": "2.76.0",
"version": "2.77.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Focused tests need CI confirmation

Local Corepack could not verify the pinned pnpm signature, so focused frontend tests never started. CI must confirm the rendering and translation suites.

Devin Review

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

Copy link
Copy Markdown
Contributor Author

Next buyer increment is stacked as #861 (feat/leftover-map-compare-plot-singular-v2780 @ 3aac452, v2.78.0 / ADR 0321): leftover-map singular values on the grouping comparison leftover-map graphic. This #860 head still needs independent APPROVE. Do not self-approve. Synthetic fixtures only.

@seonghobae
seonghobae marked this pull request as draft September 4, 2026 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant