Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
089a157
feat(reports): leftover-map unexplained leftover share on pair segmen…
seonghobae Aug 29, 2026
c513002
feat(reports): leftover-map cross share on pair segments (v2.32.0)
seonghobae Aug 29, 2026
e3fdfd7
feat(reports): leftover-map unexplained leftover on pair segments (v2…
seonghobae Aug 29, 2026
33f6c3d
feat(reports): leftover residual on pair segments (v2.34.0)
seonghobae Aug 29, 2026
b334b00
feat(reports): leftover observed on pair segments (v2.35.0)
seonghobae Aug 30, 2026
6e37757
feat(reports): leftover expected on pair segments (v2.36.0)
seonghobae Aug 30, 2026
e626a1d
feat(reports): leftover-map rank on pair segments (v2.37.0)
seonghobae Aug 30, 2026
8efa8e3
test(reports): reproduce descendant layout regressions
seonghobae Sep 5, 2026
66bccfb
fix(reports): carry parent plot bounds into rank descendant
seonghobae Sep 5, 2026
02ae200
fix(reports): preserve distinct tick keys in rank descendant
seonghobae Sep 5, 2026
0f6d074
fix(reports): carry parent caption readability into rank descendant
seonghobae Sep 5, 2026
90f7e19
fix(stack): carry protected Draft admission into rank descendant
seonghobae Sep 5, 2026
2dee25d
fix(stack): carry protected ontology admission into rank descendant
seonghobae Sep 5, 2026
85f1289
fix(stack): carry protected PROV-O admission into rank descendant
seonghobae Sep 5, 2026
cae01d8
test(stack): carry protected workflow contract into rank descendant
seonghobae Sep 5, 2026
1887be0
test(release): reproduce descendant version identity drift
seonghobae Sep 5, 2026
3f02dd6
fix(release): align runtime version with v2.37 descendant
seonghobae Sep 5, 2026
d50cc61
docs(stack): carry Pages landing into rank descendant
seonghobae Sep 5, 2026
e27d29f
test(stack): carry short-canvas caption bound into rank descendant
seonghobae Sep 5, 2026
98c794f
test(i18n): reproduce lost Vietnamese share terminology
seonghobae Sep 5, 2026
430077e
test(reports): carry parent caption offset expectation into rank stack
Sep 5, 2026
8c16fa2
fix(i18n): restore Vietnamese explained-share terminology
seonghobae Sep 5, 2026
e0fad9a
merge: converge #811 with #802 foundation
seonghobae Sep 6, 2026
4dcd789
test(reports): cover final rank caption at plot boundaries
Sep 6, 2026
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
36 changes: 33 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ stops startup instead of leaving a healthy-looking partial schema, and
application code must not compensate for a missing table.

Period leftover pairs (ADR 0017 / 0018 / 0048 / 0049 / 0119 / 0158 / 0162 /
0163 / 0164 / 0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273) are computed in `lineageweave/leftover_pairs.py` from the
0163 / 0164 / 0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273 / 0274 / 0275 / 0276 / 0277 / 0278 / 0279 / 0280) are computed in `lineageweave/leftover_pairs.py` from the
residual after a real GRM/GPCM score, never invented. Distances are
Euclidean on the two-dimensional Gabriel leftover map; missing cells stay
out of the factorization. Closest and farthest post–criterion pairs
Expand Down Expand Up @@ -309,8 +309,38 @@ coordinates. ADR 0273 captions leftover-map pair segments with persisted
leftover-map explained leftover share `e` so the pair-row `R̂²/R²`
badge matches the graphic; a missing or non-finite `e` omits that
explained leftover share caption and does not invent `e` from `R̂` and
`R` or from plotted coordinates. When `R`, `R̂`, `U`, `x`,
`s`, and `e` are finite, `e + s + x = 1`. When coordinates,
`R` or from plotted coordinates. ADR 0274 captions leftover-map pair
segments with persisted leftover-map unexplained leftover share `s` so
the pair-row `U²/R²` badge matches the graphic; a missing or non-finite
`s` omits that unexplained leftover share caption and does not invent
`s` from `U` and `R` or from plotted coordinates. ADR 0275 captions leftover-map pair
segments with persisted leftover-map cross share `x` so
the pair-row `2R̂U/R²` badge matches the graphic; a missing or non-finite
`x` omits that leftover-map cross share caption and does not invent
`x` from `R̂`, `U`, and `R` or from plotted coordinates. ADR 0276 captions leftover-map pair
segments with persisted leftover-map unexplained leftover `U` so
the pair-row `U` badge matches the graphic; a missing or non-finite
`U` omits that unexplained leftover caption and does not invent
`U` from `R` and `R̂` or from plotted coordinates. ADR 0277 captions leftover-map pair
segments with persisted leftover residual `R` so the pair-row residual
badge matches the graphic; a missing or non-finite `R` omits that leftover
residual caption and does not invent `R` from `Y` and `E`, from `U` and
`R̂`, or from plotted coordinates. ADR 0278 captions leftover-map pair
segments with persisted leftover observed `Y` so the pair-row `Y` badge
matches the graphic; a missing or non-finite `Y` omits that leftover
observed caption and does not invent `Y` from `R` and `E` or from plotted
coordinates. ADR 0279 captions leftover-map pair
segments with persisted leftover expected `E` so the pair-row `E` badge
matches the graphic; a missing or non-finite `E` omits that leftover
expected caption and does not invent `E` from `Y` and `R` or from plotted
coordinates. ADR 0280 captions leftover-map pair
segments with persisted leftover-map rank so the pair-row `rank` badge
matches the graphic; a missing, negative, or non-integer rank omits that
leftover-map rank caption and does not invent rank from plotted
coordinates, leftover-map distance, or the count of unused axes. 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
finite, `U + R̂ = R`. When coordinates,
reconstruction, and distance are finite, `R̂ = ξ · ζ` and
`d = ‖ξ − ζ‖`. The pairs sit above the member
list so a click opens that post with the leftover criterion current
Expand Down
12 changes: 10 additions & 2 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@ information at the group's mean θ (Lord, 1980 max-info CAT). Rankings
persist to `report_item_information`. After those IRT main effects,
residual SVD leftover pairs on two Gabriel axes (Jeon et al., 2021;
ADR 0017 / 0048 / 0049 / 0119 / 0148 / 0158 / 0162 / 0163 / 0164 / 0168 /
0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273) persist to `report_leftover_pair` with signed residual `R`,
0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273 / 0274 / 0275 / 0276 / 0277 / 0278 / 0279 / 0280) persist to `report_leftover_pair` with signed residual `R`,
observed `Y`, expected `E[Y|θ, item]`, full leftover-map rank, unexplained
leftover, ADR 0201 reconstruction evidence, ADR 0185 cross-share evidence,
ADR 0233 unexplained leftover share `s`, ADR 0266 explained leftover
Expand All @@ -650,7 +650,15 @@ badge matches the plot. ADR 0271 captions leftover-map pair segments
with persisted leftover-map distance `d`. ADR 0272 captions leftover-map
pair segments with persisted leftover-map reconstruction `R̂`. ADR 0273
captions leftover-map pair segments with persisted leftover-map
explained leftover share `e`. Click a post marker or a pair button
explained leftover share `e`. ADR 0274 captions leftover-map pair
segments with persisted leftover-map unexplained leftover share `s`.
ADR 0275 captions leftover-map pair segments with persisted leftover-map
cross share `x`. ADR 0276 captions leftover-map pair segments with persisted leftover-map
unexplained leftover `U`. ADR 0277 captions leftover-map pair segments with persisted leftover
residual `R`. ADR 0278 captions leftover-map pair segments with persisted leftover
observed `Y`. ADR 0279 captions leftover-map pair segments with persisted leftover
expected `E`. ADR 0280 captions leftover-map pair segments with persisted leftover-map
rank. 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
(Gabriel inertia of residual SVD axes 1 and 2; ADR 0148) persists to
Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG.d/2.31.0-leftover-map-segment-unexplained-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## 2.31.0 — Leftover-map unexplained leftover share on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover-map unexplained leftover share `s = U² / R²` (ADR 0274). 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, pair segments that match `d` on the pair row, pair
segments that match `R̂` on the pair row, pair segments that match
`R̂²/R²` on the pair row, and pair segments that match `U²/R²` on the
pair row; click a post marker or a pair button opens that post. A
missing or non-finite `s` omits that unexplained leftover share
caption. A share greater than 1 is shown, never clamped. Do not invent
`s` from `U` and `R` or from plotted coordinates. Never invent a
leftover score. Never invent a theta. No new columns.
16 changes: 16 additions & 0 deletions CHANGELOG.d/2.32.0-leftover-map-segment-cross-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## 2.32.0 — Leftover-map cross share on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover-map cross share `x = 2 R̂ U / R²` (ADR 0275). 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, pair segments that match `d` on the pair row, pair
segments that match `R̂` on the pair row, pair segments that match
`R̂²/R²` on the pair row, pair segments that match `U²/R²` on the
pair row, and pair segments that match `2R̂U/R²` on the pair row;
click a post marker or a pair button opens that post. A missing or
non-finite `x` omits that leftover-map cross share caption. A finite
negative share is shown; do not clamp to nonnegative. Do not invent
`x` from `R̂`, `U`, and `R` or from plotted coordinates. Never invent
a leftover score. Never invent a theta. No new columns.
17 changes: 17 additions & 0 deletions CHANGELOG.d/2.33.0-leftover-map-segment-unexplained-leftover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## 2.33.0 — Leftover-map unexplained leftover on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover-map unexplained leftover `U = R − R̂` (ADR 0276). 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, pair segments that match `d` on the pair row, pair
segments that match `R̂` on the pair row, pair segments that match
`R̂²/R²` on the pair row, pair segments that match `U²/R²` on the
pair row, pair segments that match `2R̂U/R²` on the pair row, and
pair segments that match `U` on the pair row; click a post marker or
a pair button opens that post. A missing or non-finite `U` omits that
unexplained leftover caption. A finite negative leftover is shown;
do not clamp to nonnegative. Do not invent `U` from `R` and `R̂` or
from plotted coordinates. Never invent a leftover score. Never invent
a theta. No new columns.
18 changes: 18 additions & 0 deletions CHANGELOG.d/2.34.0-leftover-map-segment-residual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## 2.34.0 — Leftover residual on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover residual `R = Y − E[Y|θ, item]` (ADR 0277). 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, pair segments that match `d` on the pair row, pair
segments that match `R̂` on the pair row, pair segments that match
`R̂²/R²` on the pair row, pair segments that match `U²/R²` on the
pair row, pair segments that match `2R̂U/R²` on the pair row, pair
segments that match `U` on the pair row, and pair segments that match
`R` on the pair row; click a post marker or a pair button opens that
post. A missing or non-finite `R` omits that leftover residual caption.
A finite negative leftover is shown; do not clamp to nonnegative. Do
not invent `R` from `Y` and `E`, from `U` and `R̂`, or from plotted
coordinates. Never invent a leftover score. Never invent a theta. No
new columns.
18 changes: 18 additions & 0 deletions CHANGELOG.d/2.35.0-leftover-map-segment-observed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## 2.35.0 — Leftover observed Y on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover observed `Y` (ADR 0278). 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,
pair segments that match `d` on the pair row, pair segments that
match `R̂` on the pair row, pair segments that match `R̂²/R²` on
the pair row, pair segments that match `U²/R²` on the pair row,
pair segments that match `2R̂U/R²` on the pair row, pair segments
that match `U` on the pair row, pair segments that match `R` on the
pair row, and pair segments that match `Y` on the pair row; click a
post marker or a pair button opens that post. A missing or
non-finite `Y` omits that leftover observed caption. A finite
negative observed is shown; do not clamp to nonnegative. Do not
invent `Y` from `R` and `E` or from plotted coordinates. Never invent
a leftover score. Never invent a theta. No new columns.
19 changes: 19 additions & 0 deletions CHANGELOG.d/2.36.0-leftover-map-segment-expected.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## 2.36.0 — Leftover expected E on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover expected `E[Y|θ, item]` (ADR 0279). 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,
pair segments that match `d` on the pair row, pair segments that
match `R̂` on the pair row, pair segments that match `R̂²/R²` on
the pair row, pair segments that match `U²/R²` on the pair row,
pair segments that match `2R̂U/R²` on the pair row, pair segments
that match `U` on the pair row, pair segments that match `R` on the
pair row, pair segments that match `Y` on the pair row, and pair
segments that match `E` on the pair row; click a post marker or a
pair button opens that post. A missing or non-finite `E` omits that
leftover expected caption. A finite negative expected is shown; do
not clamp to nonnegative. Do not invent `E` from `Y` and `R` or from
plotted coordinates. Never invent a leftover score. Never invent a
theta. No new columns.
20 changes: 20 additions & 0 deletions CHANGELOG.d/2.37.0-leftover-map-segment-rank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## 2.37.0 — Leftover-map rank on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover-map rank (ADR 0280). 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, pair segments
that match `d` on the pair row, pair segments that match `R̂` on the
pair row, pair segments that match `R̂²/R²` on the pair row, pair
segments that match `U²/R²` on the pair row, pair segments that match
`2R̂U/R²` on the pair row, pair segments that match `U` on the pair
row, pair segments that match `R` on the pair row, pair segments that
match `Y` on the pair row, pair segments that match `E` on the pair
row, and pair segments that match leftover-map rank on the pair row;
click a post marker or a pair button opens that post. A missing,
negative, or non-integer rank omits that leftover-map rank caption.
Rank `0` is shown when that persisted rank is a non-negative integer;
do not hide a rank-0 collapse. Do not invent rank from plotted
coordinates, leftover-map distance, or the count of unused axes.
Never invent a leftover score. Never invent a theta. No new columns.
Loading