Skip to content

feat(reports): leftover-map distance on pair segments (v2.28.0) - #800

Merged
seonghobae merged 1 commit into
feat/leftover-map-coordinates-v2240from
feat/leftover-map-segment-distance-v2280
Aug 29, 2026
Merged

feat(reports): leftover-map distance on pair segments (v2.28.0)#800
seonghobae merged 1 commit into
feat/leftover-map-coordinates-v2240from
feat/leftover-map-segment-distance-v2280

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Caption leftover-map graphic-display pair segments with persisted leftover-map distance d (ADR 0271 / v2.28.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, 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 and keeps the connecting line. Rank-0 origin cells still name d 0.00 when that persisted distance is finite. Do not invent d from plotted coordinates or pixel length.
  • 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.
  • Stacked onto leftover-map coordinates + graphic + axis-share + ticks (feat/leftover-map-coordinates-v2240 / feat(reports): persist leftover-map coordinates (v2.24.0) #782 @ 2a203bf). Leave this PR open for independent review. Do not squash-merge onto the unprotected leftover base.

Verification

  • frontend vitest: leftoverMapPlotLayout + LeftoverMapPlot + i18n leftover keys + LeftoverPairList (135 passed)
  • tests/test_leftover_pairs.py and 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.


Devin Review

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.

Copy link
Copy Markdown
Contributor Author

Cycle overlay 2026-08-29 13:22 KST.

Exact head 1374a83 stacked onto leftover #782 @ 2a203bf (v2.24–2.27). UI-only leftover-map distance on pair segments (ADR 0271 / v2.28.0). Independent APPROVE required. Copilot / CodeRabbit / Devin COMMENT is not APPROVE. Do not self-approve. Do not squash-merge onto the unprotected leftover base (that mixed #799 into #782 this cycle). Do not mix into dashboard stacks.

@coderabbitai

coderabbitai Bot commented Aug 29, 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: 52a4a127-ff1f-4c33-8c39-0ac26a7fd54a

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: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

Copy link
Copy Markdown
Contributor Author

Cycle 2026-08-29 16:08 KST: exact head 1374a83 (v2.28.0 leftover-map segment distance, ADR 0271). Frontend lint/test/build and Full test suite succeeded. Independent APPROVE still required. No self-approval. Do not squash-merge onto the unprotected leftover base. Next buyer increment stacks as v2.29.0 leftover-map reconstruction on graphic-display pair segments (ADR 0272, UI-only).

@seonghobae
seonghobae merged commit 9bdd3e4 into feat/leftover-map-coordinates-v2240 Aug 29, 2026
4 checks passed

@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.

Cycle 2026-08-29: exact head 1374a83 Frontend+Full tests succeeded. Independent APPROVE still required. No self-approval. Do not squash-merge onto the unprotected leftover base.

seonghobae added a commit that referenced this pull request Aug 30, 2026
* 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>
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