feat(reports): leftover-map coordinate ticks (v2.27.0) - #799
Conversation
Caption leftover-map graphic-display axes with persisted leftover-map coordinate ticks (ADR 0270). 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, and axis ticks that match ξ (x, y) ζ (x, y) on the pair row; click a post marker or a pair button opens that post. Origin is always named 0. Rank-0 unused axes do not invent −1 / +1 drawing-scale ticks. Never invent a leftover score or a theta. No new columns.
|
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 |
2a203bf
into
feat/leftover-map-coordinates-v2240
There was a problem hiding this comment.
📝 Info: Invalid coordinates stay excluded
The existing plottability gate rejects missing and non-finite values before tick collection. The added casts cannot introduce invalid plot positions.
(Refers to this code)
Was this helpful? React with 👍 or 👎 to provide feedback.
| function uniqueCoordinateTicks(values: number[]): { value: number; label: string }[] { | ||
| const byLabel = new Map<string, number>(); | ||
| for (const value of values) { | ||
| const label = formatSignedLeftoverValue(value); | ||
| if (label === null) { | ||
| continue; | ||
| } | ||
| if (!byLabel.has(label)) { | ||
| byLabel.set(label, value); | ||
| } | ||
| } | ||
| return [...byLabel.entries()].map(([label, value]) => ({ value, label })); |
There was a problem hiding this comment.
🟡 Distinct coordinates lose tick marks
When two persisted coordinates round to the same two-decimal label, uniqueCoordinateTicks merges them. One coordinate loses its tick despite occupying a different plotted position.
Prompt for agents
Update frontend/src/leftoverMapPlotLayout.ts so coordinate ticks are deduplicated by their finite numeric coordinate, not by the formatted two-decimal label. Distinct values that format identically still need distinct plotted ticks. Also ensure LeftoverMapPlot.tsx gives such ticks unique React keys and choose a labeling strategy that keeps tick labels consistent with the pair-row coordinate formatter without silently hiding coordinates. Add a test with two distinct coordinates that round to the same two-decimal string.
Was this helpful? React with 👍 or 👎 to provide feedback.
* feat(reports): persist leftover-map coordinates (v2.24.0)
Name leftover-map coordinates ξ_{1:2} and ζ_{1:2} on leftover
post–criterion pairs (ADR 0267, migration 0245). After make seed,
closest and farthest leftover pairs sit above the member list with
ξ (x, y) ζ (x, y) next to leftover-map distance d; click opens that
post. Rank-0 unused axes store 0.0. When coordinates, reconstruction,
and distance are finite, R̂ = ξ · ζ and d = ‖ξ − ζ‖. Never invent a
leftover score. Never invent a theta.
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.
* feat(reports): leftover-map graphic display (v2.25.0) (#783)
* feat(reports): leftover-map graphic display (v2.25.0)
Draw persisted leftover-map coordinates ξ and ζ as a Gabriel biplot
above leftover pair buttons (ADR 0268). Click a post marker to open
that post. Omit the plot when coordinates are missing. No new columns.
Never invent a leftover score or a theta.
* fix(reports): preserve leftover-map distances
Signed-off-by: Codex <codex@localhost>
* fix(reports): keep plot labels readable
Signed-off-by: Codex <codex@localhost>
* docs(reports): correct leftover plot omission rule
---------
Signed-off-by: Codex <codex@localhost>
Co-authored-by: Codex <codex@localhost>
* feat(reports): leftover-map axis share on graphic display (v2.26.0) (#787)
Caption leftover-map plot axes with persisted ADR 0148 leftover-map
axis share σ_k² / Σ_j σ_j² (ADR 0269). Rank-0 zero-share axes still
name 0%. A missing or non-finite share omits that axis badge and
keeps the existing leftover-map axis text. Click a post marker to
open that post. No new columns. Never invent a leftover score or a
theta.
* test(reports): apply leftover-map migrations in live fixture
Signed-off-by: Codex <codex@localhost>
* fix(reports): align leftover map evidence
* feat(reports): leftover-map coordinate ticks (v2.27.0) (#799)
Caption leftover-map graphic-display axes with persisted leftover-map
coordinate ticks (ADR 0270). 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, and
axis ticks that match ξ (x, y) ζ (x, y) on the pair row; click a post
marker or a pair button opens that post. Origin is always named 0.
Rank-0 unused axes do not invent −1 / +1 drawing-scale ticks. Never
invent a leftover score or a theta. No new columns.
* feat(reports): leftover-map distance on pair segments (v2.28.0) (#800)
Caption leftover-map graphic-display pair segments with persisted
leftover-map distance d (ADR 0271). 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, axis ticks that match ξ (x, y) ζ (x, y) on the pair row, and
pair segments that match d on the pair row; click a post marker or a
pair button opens that post. A missing or non-finite d omits that
segment caption. Do not invent d from plotted coordinates. Never
invent a leftover score or a theta. No new columns.
---------
Signed-off-by: Codex <codex@localhost>
Co-authored-by: Codex <codex@localhost>
Summary
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, and axis ticks that match ξ (x, y) ζ (x, y) on the pair row; click a post marker or a pair button opens that post.0. Rank-0 unused axes do not invent −1 / +1 drawing-scale ticks. Duplicate coordinates share one tick. Do not invent evenly spaced ticks that no persisted coordinate occupies.feat/leftover-map-coordinates-v2240/ feat(reports): persist leftover-map coordinates (v2.24.0) #782 @4a0afbf). Do not mix into feat(reports): persist leftover-map coordinates (v2.24.0) #782.Verification
tests/test_leftover_pairs.pyand PostgreSQL period-report tests were not executed here (UI-only; no schema change)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.