Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -876,6 +876,11 @@ returns a leftover-map origin leftover-map item coordinate caption independently
`leftover pair leftover-map criterion {label} at leftover-map origin ζ {item}`. Rank-0 unused axes still name leftover-map origin `(0.00, 0.00)`.
Do not invent leftover-map origin from leftover-map person coordinates `ξ`. leftoverMapListPostBadge stays leftover-map pair leftover-map
post leftover-map origin leftover-map person coordinate keys. leftoverMapPlotCriterionBadge stays leftover-map graphic leftover-map criterion leftover-map origin leftover-map item coordinate keys this increment.
ADR 0353 captions leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person coordinates with leftover-map origin when leftoverMapCompareListPostBadge
returns a leftover-map origin leftover-map person coordinate caption independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates. Distinct accessible name
`leftover map comparison leftover pair leftover-map post {title} at leftover-map origin ξ {person}`. Rank-0 unused axes still name leftover-map origin `(0.00, 0.00)`.
Do not invent leftover-map origin from leftover-map item coordinates `ζ`. leftoverMapListPostBadge stays leftover-map pair leftover-map
post leftover-map origin leftover-map person coordinate keys. leftoverMapComparePlotPostBadge stays leftover-map comparison graphic leftover-map post leftover-map origin leftover-map person coordinate keys this increment.
When `R`, `R̂`, `U`, `x`,
`s`, and `e` are finite, `e + s + x = 1`. When `Y`, `E`, and `R` are
finite, `Y − E = R`. When `R`, `R̂`, and `U` are
Expand Down Expand Up @@ -1069,6 +1074,8 @@ Leftover-map pair leftover-map post leftover-map origin leftover-map person coor
(ADR 0351) captions leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates when leftoverMapListPostBadge returns a leftover-map origin leftover-map person coordinate caption.
Leftover-map pair leftover-map criterion leftover-map origin leftover-map item coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates
(ADR 0352) captions leftover-map pair leftover-map criterion leftover-map origin leftover-map item coordinates when leftoverMapListCriterionBadge returns a leftover-map origin leftover-map item coordinate caption.
Leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates
(ADR 0353) captions leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person coordinates when leftoverMapCompareListPostBadge returns a leftover-map origin leftover-map person coordinate caption.
Item complete-case coverage
(ADR 0282) captions the leftover-map graphic with how many scored criteria
entered the map. Item complete-case coverage on the pair list (ADR 0285)
Expand Down
2 changes: 2 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -829,6 +829,8 @@ ADR 0351 captions leftover-map pair leftover-map post leftover-map origin leftov
returns a leftover-map origin leftover-map person coordinate caption independently of leftover-map comparison graphic leftover-map post leftover-map origin leftover-map person coordinates.
ADR 0352 captions leftover-map pair leftover-map criterion leftover-map origin leftover-map item coordinates when leftoverMapListCriterionBadge
returns a leftover-map origin leftover-map item coordinate caption independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates.
ADR 0353 captions leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person coordinates when leftoverMapCompareListPostBadge
returns a leftover-map origin leftover-map person coordinate caption independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates.
Click a post marker or a pair button
opens that post. Those ADRs are the normative mathematical, storage, and
display contracts. Leftover-map axis share
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.d/2.110.0-leftover-map-compare-list-post-origin-badge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## 2.110.0 — Leftover-map origin on leftover-map comparison leftover-pair leftover-map post leftover-map person coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates

- Caption leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person coordinates through leftoverMapCompareListPostBadge
independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates (ADR 0353). After `make seed`, leftover-map comparison leftover-pair leftover-map
post leftover-map origin leftover-map person coordinates name leftover-map origin when leftoverMapPlotCoordinatePairIsOrigin returns true. Distinct accessible name
`leftover map comparison leftover pair leftover-map post {title} at leftover-map origin ξ {person}`. Rank-0 unused axes still name leftover-map origin `(0.00, 0.00)`.
Non-origin leftover-map comparison leftover-pair leftover-map post leftover-map person coordinates stay
`leftover map comparison leftover pair leftover-map post {title} at ξ {person}`. leftoverMapListPostBadge stays leftover-map pair leftover-map
post leftover-map origin leftover-map person coordinate keys. leftoverMapComparePlotPostBadge stays leftover-map comparison graphic leftover-map
post leftover-map origin leftover-map person coordinate keys this increment. Do not invent leftover-map origin from leftover-map item coordinates `ζ`.
Do not mix #877. A finite negative leftover is shown, never clamped. Never invent a leftover score.
Never invent a theta. No new columns.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@ All notable changes to this project are documented here. Format follows

### Added

- Period leftover pairs now caption leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person coordinates
through leftoverMapCompareListPostBadge independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates (ADR 0353 / v2.110.0). After `make seed`, leftover-map comparison leftover-pair leftover-map
post leftover-map origin leftover-map person coordinates name leftover-map origin when leftoverMapPlotCoordinatePairIsOrigin returns true. Distinct accessible name
`leftover map comparison leftover pair leftover-map post {title} at leftover-map origin ξ {person}`. Rank-0 unused axes still name leftover-map origin `(0.00, 0.00)`.
Non-origin leftover-map comparison leftover-pair leftover-map post leftover-map person coordinates stay
`leftover map comparison leftover pair leftover-map post {title} at ξ {person}`. leftoverMapListPostBadge stays leftover-map pair leftover-map
post leftover-map origin leftover-map person coordinate keys. leftoverMapComparePlotPostBadge stays leftover-map comparison graphic leftover-map
post leftover-map origin leftover-map person coordinate keys this increment. Do not invent leftover-map origin from leftover-map item coordinates `ζ`.
Do not mix #877. A finite negative leftover is shown, never clamped. Never invent a leftover score or a theta. No new columns.

- Period leftover pairs now caption leftover-map pair leftover-map criterion leftover-map origin leftover-map item coordinates
through leftoverMapListCriterionBadge independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates (ADR 0352 / v2.109.0). After `make seed`, leftover-map pair leftover-map
criterion leftover-map origin leftover-map item coordinates name leftover-map origin when leftoverMapPlotCoordinatePairIsOrigin returns true. Distinct accessible name
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ cutoff. Global Ask optional `knowledge_cutoff` uses the same cover

Create/start endpoint rules (ADR 0017 / 0021), tie-vs-miss similarity
(ADR 0026), R&R catalog ids (ADR 0019 / 0027), leftover pairs
(ADR 0048–0164 / 0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273 / 0274 / 0275 / 0276 / 0277 / 0278 / 0279 / 0280 / 0281 / 0282 / 0283 / 0284 / 0285 / 0286 / 0287 / 0288 / 0289 / 0290 / 0291 / 0292 / 0293 / 0294 / 0295 / 0296 / 0297 / 0298 / 0299 / 0300 / 0301 / 0302 / 0303 / 0304 / 0305 / 0306 / 0307 / 0308 / 0309 / 0310 / 0311 / 0312 / 0313 / 0314 / 0315 / 0316 / 0317 / 0318 / 0319 / 0320 / 0321 / 0322 / 0323 / 0324 / 0325 / 0326 / 0327 / 0328 / 0329 / 0330 / 0331 / 0332 / 0333 / 0334 / 0335 / 0336 / 0337 / 0338 / 0339 / 0340 / 0341 / 0342 / 0343 / 0344 / 0345 / 0346 / 0347 / 0348 / 0349 / 0350 / 0351 / 0352), occupational construct catalog search
(ADR 0048–0164 / 0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273 / 0274 / 0275 / 0276 / 0277 / 0278 / 0279 / 0280 / 0281 / 0282 / 0283 / 0284 / 0285 / 0286 / 0287 / 0288 / 0289 / 0290 / 0291 / 0292 / 0293 / 0294 / 0295 / 0296 / 0297 / 0298 / 0299 / 0300 / 0301 / 0302 / 0303 / 0304 / 0305 / 0306 / 0307 / 0308 / 0309 / 0310 / 0311 / 0312 / 0313 / 0314 / 0315 / 0316 / 0317 / 0318 / 0319 / 0320 / 0321 / 0322 / 0323 / 0324 / 0325 / 0326 / 0327 / 0328 / 0329 / 0330 / 0331 / 0332 / 0333 / 0334 / 0335 / 0336 / 0337 / 0338 / 0339 / 0340 / 0341 / 0342 / 0343 / 0344 / 0345 / 0346 / 0347 / 0348 / 0349 / 0350 / 0351 / 0352 / 0353), occupational construct catalog search
(ADR 0257), the text-channel embedding swap and cosine
clamp (ADR 0190), per-edge channel-score persistence (ADR 0195),
token-backed status notices (ADR 0220),
Expand Down
4 changes: 3 additions & 1 deletion docs/adr/0341-leftover-map-compare-list-post-coordinates.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
**Date:** 2026-08-31

**Amended by:** [ADR 0342](0342-leftover-map-compare-list-criterion-coordinates.md)
(leftover-map item coordinates on leftover-map comparison leftover pair leftover-map criterion independently of leftover-map comparison leftover pair leftover-map post leftover-map person coordinates)
(leftover-map item coordinates on leftover-map comparison leftover pair leftover-map criterion independently of leftover-map comparison leftover pair leftover-map post leftover-map person coordinates);
[ADR 0353](0353-leftover-map-compare-list-post-origin-badge.md)
(leftover-map origin on leftover-map comparison leftover-pair leftover-map post leftover-map person coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates)

Amends leftover-map coordinates
([ADR 0267](0267-leftover-map-coordinates.md)) and leftover-map coordinates on grouping comparison strip pair rows
Expand Down
89 changes: 89 additions & 0 deletions docs/adr/0353-leftover-map-compare-list-post-origin-badge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# ADR 0353 — Name leftover-map origin on leftover-map comparison leftover-pair leftover-map post leftover-map person coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates

**Decision status:** Accepted
**Date:** 2026-09-02

Amends leftover-map person coordinates on leftover-map comparison leftover pair leftover-map post independently of leftover-map comparison leftover pair leftover-map criterion leftover-map item coordinates
([ADR 0341](0341-leftover-map-compare-list-post-coordinates.md)). Independent of leftover-map pair leftover-map criterion leftover-map origin leftover-map item coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates
([ADR 0352](0352-leftover-map-list-criterion-origin-badge.md)). Independent of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates independently of leftover-map comparison graphic leftover-map post leftover-map origin leftover-map person coordinates
([ADR 0351](0351-leftover-map-list-post-origin-badge.md)). Independent of leftover-map leftover-axis origin ticks on the competing origin-tick stack (do not mix #877).

## Context

ADR 0341 already names leftover-map comparison leftover-pair leftover-map post leftover-map person coordinates
`leftover map comparison leftover pair leftover-map post {title} at ξ {person}`. Rank-0 unused axes still persist leftover-map
origin `(0.00, 0.00)` (`formatSignedLeftoverValue(0)` emits no plus). Origin leftover-map
person coordinates still interpolate leftover-map origin only through leftover-map comparison leftover-pair leftover-map post leftover-map
person coordinate keys. A missing or non-finite leftover-map person coordinate pair omits independently
of leftover-map item coordinates `ζ`. A finite negative leftover is shown, never clamped.
Do not invent leftover-map origin from leftover-map item coordinates `ζ`. leftoverMapListPostBadge stays
`leftover pair leftover-map post {title} at leftover-map origin ξ {person}`
this increment. leftoverMapComparePlotPostBadge stays
`Open leftover map comparison graphic leftover-map post {title} at leftover-map origin ξ {person}`
this increment. leftoverMapListCriterionBadge stays leftover-map pair leftover-map criterion leftover-map origin leftover-map
item coordinate keys this increment. leftoverMapCompareListCriterionBadge stays leftover-map comparison leftover-pair leftover-map
criterion leftover-map item coordinate keys this increment.

This increment names leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map
person coordinates as leftoverMapCompareListPostBadge. Leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map
person coordinates stay
`leftover map comparison leftover pair leftover-map post {title} at leftover-map origin ξ {person}`
when leftoverMapPlotCoordinatePairIsOrigin returns true, so they stay distinct from leftover-map
comparison leftover-pair leftover-map post leftover-map person coordinates
`leftover map comparison leftover pair leftover-map post {title} at ξ {person}`,
leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates
`leftover pair leftover-map post {title} at leftover-map origin ξ {person}`,
and leftover-map comparison graphic leftover-map post leftover-map origin leftover-map person coordinates
`Open leftover map comparison graphic leftover-map post {title} at leftover-map origin ξ {person}`.
It does not add columns. Do not invent a leftover score. Do not invent a theta.

This protected increment uses **0353** so it does not collide with leftover-map pair leftover-map
criterion leftover-map origin leftover-map item coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates
(0352) or leftover-map leftover-axis origin ticks (#877).

## Decision

On leftover-map comparison leftover-pair leftover-map post, caption leftover-map origin
when leftoverMapPlotCoordinatePairIsOrigin returns true. Rank-0 unused axes still name leftover-map
origin `(0.00, 0.00)`. Non-origin leftover-map person coordinates stay leftover-map comparison leftover-pair leftover-map post leftover-map
person coordinate keys. leftoverMapListPostBadge, leftoverMapComparePlotPostBadge,
leftoverMapPlotPostBadge, leftoverMapListCriterionBadge, leftoverMapCompareListCriterionBadge, leftoverMapComparePlotCriterionBadge,
leftoverMapPlotTickAxisBadge, leftoverMapComparePlotTickAxisBadge, leftoverMapCompareAxisTickBadge, and leftoverMapAxisTickBadge
do not change leftover-map origin naming this increment.

Do not add SQL. Do not edit shipped migrations. Do not invent a leftover
score. Do not invent a theta.

## Consequences

After `make seed`, leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person
coordinates name leftover-map origin independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates. Rank-0 unused
axes still name leftover-map origin `(0.00, 0.00)`. leftoverMapListPostBadge stays leftover-map pair leftover-map
post leftover-map origin leftover-map person coordinate keys. leftoverMapComparePlotPostBadge stays leftover-map comparison graphic leftover-map
post leftover-map origin leftover-map person coordinate keys. leftover-map person coordinates on leftover-map comparison leftover pair leftover-map
post independently of leftover-map comparison leftover pair leftover-map criterion leftover-map item coordinates
(ADR 0341) remain.

## Related

Independent of leftover-map pair leftover-map criterion leftover-map origin leftover-map item
coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates
([ADR 0352](0352-leftover-map-list-criterion-origin-badge.md)). Independent of leftover-map
person coordinates on leftover-map comparison leftover pair leftover-map post independently of leftover-map comparison leftover pair leftover-map
criterion leftover-map item coordinates ([ADR 0341](0341-leftover-map-compare-list-post-coordinates.md)). Independent of leftover-map
pair leftover-map post leftover-map origin leftover-map person coordinates independently of leftover-map comparison graphic leftover-map post leftover-map origin leftover-map person coordinates
([ADR 0351](0351-leftover-map-list-post-origin-badge.md)). Independent of leftover-map leftover-axis origin ticks independently of leftover-map axis share and leftover-map singular values
([ADR 0346](0346-leftover-map-axis-tick-origin-badge.md)).

## References

Gabriel, K. R. (1971). The biplot graphic display of matrices with
application to principal component analysis. *Biometrika, 58*(3),
453–467. https://doi.org/10.1093/biomet/58.3.453

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.
https://doi.org/10.1007/s11336-021-09762-5
(LSIRM interaction `−γ‖ξ_j − ζ_i‖` after main effects
`α_j − β_i`; typically `p = 2` for the interaction map.)
9 changes: 9 additions & 0 deletions docs/product-technical-gap-baseline.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Product & Technical Gap Baseline

> Exact-head loop overlay: 2026-09-02 17:35 KST. Protected `main` is
> `3f61c8242b9c02dec307a7396e83e28f7cdd9f3d`. Writes work (MCP comment + git push). Do not
> self-approve. #916 leftover-map pair leftover-map criterion leftover-map origin leftover-map
> item coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates (v2.109.0 / ADR 0352) is
> `7978e925`, stacked on #913 @ `371bb82`. Independent APPROVE is missing. This increment: leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map
> person coordinates independently of leftover-map pair leftover-map post leftover-map origin leftover-map person coordinates as leftoverMapCompareListPostBadge (ADR 0353 / v2.110.0) on
> `feat/leftover-map-compare-list-post-origin-badge-v21100`. Distinct accessible name
> `leftover map comparison leftover pair leftover-map post {title} at leftover-map origin ξ {person}`. Rank-0 unused axes still name leftover-map origin `(0.00, 0.00)`. leftoverMapListPostBadge stays leftover-map pair leftover-map post leftover-map origin leftover-map person coordinate keys. leftoverMapComparePlotPostBadge stays leftover-map comparison graphic leftover-map post leftover-map origin leftover-map person coordinate keys. leftoverMapCompareListCriterionBadge stays leftover-map comparison leftover-pair leftover-map criterion leftover-map item coordinate keys. Do not invent leftover-map origin from leftover-map item coordinates `ζ`. Do not mix #877. Stack onto #916. Leave open for independent review. Do not squash-merge. Do not self-approve. Issues #79 and #87 stay open. Do not merge #808 without independent APPROVE. #96 already closed as weaker duplicate of #91. Next buyer increment after this stack: leftover-map comparison leftover-pair leftover-map criterion leftover-map origin leftover-map item coordinates as leftoverMapCompareListCriterionBadge independently of leftover-map comparison leftover-pair leftover-map post leftover-map origin leftover-map person coordinates (ADR 0354 / v2.111.0).

> Exact-head loop overlay: 2026-09-02 17:25 KST. Protected `main` is
> `3f61c8242b9c02dec307a7396e83e28f7cdd9f3d`. Writes work (MCP comment + git push). Do not
> self-approve. #913 leftover-map pair leftover-map post leftover-map origin leftover-map
Expand Down
Loading