Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e2d1301
feat(reports): persist leftover-map coordinates (v2.24.0)
seonghobae Aug 28, 2026
2f7e9c8
feat(reports): leftover-map graphic display (v2.25.0) (#783)
seonghobae Aug 28, 2026
d7a8c2b
feat(reports): leftover-map axis share on graphic display (v2.26.0) (…
seonghobae Aug 28, 2026
7ffc665
test(reports): apply leftover-map migrations in live fixture
Aug 28, 2026
4a0afbf
fix(reports): align leftover map evidence
Aug 28, 2026
2a203bf
feat(reports): leftover-map coordinate ticks (v2.27.0) (#799)
seonghobae Aug 29, 2026
9bdd3e4
feat(reports): leftover-map distance on pair segments (v2.28.0) (#800)
seonghobae Aug 29, 2026
5f21538
feat(reports): leftover-map reconstruction on pair segments (v2.29.0)
seonghobae Aug 29, 2026
79ec22f
feat(reports): leftover-map explained leftover share on pair segments…
seonghobae Aug 29, 2026
53819ec
merge(main): retarget leftover-map stack after #782
Aug 30, 2026
68cf70f
docs(gaps): refresh protected stack evidence
Aug 30, 2026
6c5a226
fix(reports): preserve distinct leftover-map ticks
Aug 31, 2026
88270da
fix(release): synchronize runtime provenance version
Aug 31, 2026
1840378
docs(gaps): record release identity repair
Aug 31, 2026
1e972d7
fix(reports): separate dense segment captions
Aug 31, 2026
4e79c28
docs(gaps): record rendered segment audit
Aug 31, 2026
be91cf8
fix(reports): bound segment caption stacks
Aug 31, 2026
b487b54
Merge branch 'main' into feat/leftover-map-segment-explained-share-v2300
opencode-agent[bot] Sep 2, 2026
5a8afbd
chore(stack): converge leftover-map explained-share UI with protected…
seonghobae Sep 3, 2026
35aa0ab
test(reports): reproduce short-canvas caption clipping
seonghobae Sep 5, 2026
85b3233
fix(reports): bound caption stacks on short canvases
seonghobae Sep 5, 2026
7cebe5e
fix(stack): adopt protected Draft admission workflow
seonghobae Sep 5, 2026
17402c4
fix(stack): restore protected PostgreSQL image pin
seonghobae Sep 5, 2026
0b61e37
fix(stack): adopt protected ontology admission contract
seonghobae Sep 5, 2026
3e19fa9
fix(stack): adopt protected PROV-O admission contract
seonghobae Sep 5, 2026
0ead4ca
test(stack): adopt protected workflow contract
seonghobae Sep 5, 2026
32f1cda
chore(stack): converge explained-share branch with protected main
seonghobae Sep 5, 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
12 changes: 10 additions & 2 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) are computed in `lineageweave/leftover_pairs.py` from the
0163 / 0164 / 0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273) 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 @@ -301,7 +301,15 @@ plot; rank-0 unused axes name only `0` and do not invent drawing-scale
ticks. ADR 0271 captions leftover-map pair segments with persisted
leftover-map distance `d` so the pair-row badge matches the graphic;
a missing or non-finite `d` omits that segment caption and does not
invent `d` from plotted coordinates. When `R`, `R̂`, `U`, `x`,
invent `d` from plotted coordinates. ADR 0272 captions leftover-map
pair segments with persisted leftover-map reconstruction `R̂` so the
pair-row badge matches the graphic; a missing or non-finite `R̂` omits
that reconstruction caption and does not invent `R̂` from plotted
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,
reconstruction, and distance are finite, `R̂ = ξ · ζ` and
`d = ‖ξ − ζ‖`. The pairs sit above the member
Expand Down
7 changes: 5 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) persist to `report_leftover_pair` with signed residual `R`,
0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273) 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 @@ -647,7 +647,10 @@ display above the pair buttons. ADR 0269 captions leftover-map axes 1
and 2 with persisted leftover-map axis share. ADR 0270 ticks those
leftover-map axes at persisted `ξ` / `ζ` coordinates so the pair-row
badge matches the plot. ADR 0271 captions leftover-map pair segments
with persisted leftover-map distance `d`. Click a post marker or a pair button
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
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
12 changes: 12 additions & 0 deletions CHANGELOG.d/2.29.0-leftover-map-segment-reconstruction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## 2.29.0 — Leftover-map reconstruction on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover-map reconstruction `R̂` (ADR 0272). 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, 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
reconstruction caption. Do not invent `R̂` from plotted coordinates.
Never invent a leftover score. Never invent a theta. No new columns.
14 changes: 14 additions & 0 deletions CHANGELOG.d/2.30.0-leftover-map-segment-explained-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## 2.30.0 — Leftover-map explained leftover share on graphic-display pair segments

- Caption leftover-map graphic-display pair segments with persisted
leftover-map explained leftover share `e = R̂² / R²` (ADR 0273). 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, and pair segments that match
`R̂²/R²` on the pair row; click a post marker or a pair button opens
that post. A missing or non-finite `e` omits that explained leftover
share caption. A share greater than 1 is shown, never clamped. Do not
invent `e` from `R̂` and `R` or from plotted coordinates. Never invent
a leftover score. Never invent a theta. No new columns.
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,32 @@ All notable changes to this project are documented here. Format follows

### Added

- Period leftover pairs now caption leftover-map graphic-display pair
segments with persisted leftover-map explained leftover share
`e = R̂² / R²` (ADR 0273 / v2.30.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,
pair segments that match `d` on the pair row, pair segments that
match `R̂` on the pair row, and pair segments that match `R̂²/R²`
on the pair row; click a post marker or a pair button opens that
post. A missing or non-finite `e` omits that explained leftover
share caption. A share greater than 1 is shown, never clamped. Do
not invent `e` from `R̂` and `R` or from plotted coordinates. Never
invent a leftover score or a theta. No new columns.

- Period leftover pairs now caption leftover-map graphic-display pair
segments with persisted leftover-map reconstruction `R̂` (ADR 0272 /
v2.29.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, pair segments that match
`d` 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 reconstruction caption. Do not invent
`R̂` from plotted coordinates. Never invent a leftover score or a
theta. No new columns.

- Period leftover pairs now 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
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), occupational construct catalog search
(ADR 0048–0164 / 0182 / 0185 / 0201 / 0233 / 0266 / 0267 / 0268 / 0269 / 0270 / 0271 / 0272 / 0273), 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
9 changes: 7 additions & 2 deletions docs/adr/0048-persist-lsirm-leftover-pairs.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@
[ADR 0268](0268-leftover-map-graphic-display.md) (leftover-map graphic display);
[ADR 0269](0269-leftover-map-axis-share-plot.md) (leftover-map axis share on the graphic display);
[ADR 0270](0270-leftover-map-coordinate-ticks.md) (leftover-map coordinate ticks);
[ADR 0271](0271-leftover-map-segment-distance.md) (leftover-map distance on pair segments)
[ADR 0271](0271-leftover-map-segment-distance.md) (leftover-map distance on pair segments);
[ADR 0272](0272-leftover-map-segment-reconstruction.md) (leftover-map reconstruction on pair segments);
[ADR 0273](0273-leftover-map-segment-explained-share.md) (leftover-map explained leftover share on pair segments)

## Context

Expand Down Expand Up @@ -74,7 +76,10 @@ those leftover-map axes with persisted leftover-map axis share; it
adds no columns. ADR 0270 ticks leftover-map axes at persisted `ξ` /
`ζ` coordinates; it adds no columns. ADR 0271 captions leftover-map
pair segments with persisted leftover-map distance `d`; it adds no
columns.
columns. ADR 0272 captions leftover-map pair segments with persisted
leftover-map reconstruction `R̂`; it adds no columns. ADR 0273 captions
leftover-map pair segments with persisted leftover-map explained leftover
share `e`; it adds no columns.

Cascade the rows with `report_period_score`. A leftover post must
also be a `report_member_score` row, and the leftover criterion
Expand Down
12 changes: 10 additions & 2 deletions docs/adr/0049-leftover-pair-report-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
[ADR 0268](0268-leftover-map-graphic-display.md) (leftover-map graphic display);
[ADR 0269](0269-leftover-map-axis-share-plot.md) (leftover-map axis share on the graphic display);
[ADR 0270](0270-leftover-map-coordinate-ticks.md) (leftover-map coordinate ticks);
[ADR 0271](0271-leftover-map-segment-distance.md) (leftover-map distance on pair segments)
[ADR 0271](0271-leftover-map-segment-distance.md) (leftover-map distance on pair segments);
[ADR 0272](0272-leftover-map-segment-reconstruction.md) (leftover-map reconstruction on pair segments);
[ADR 0273](0273-leftover-map-segment-explained-share.md) (leftover-map explained leftover share on pair segments)

## Context

Expand Down Expand Up @@ -43,7 +45,9 @@ sits above the pair buttons (ADR 0268); click a post marker to open
that post. Leftover-map axis share captions those leftover-map axes
when finite (ADR 0269). Leftover-map axis ticks name persisted `ξ` /
`ζ` coordinates (ADR 0270). Pair segments name persisted leftover-map
distance `d` (ADR 0271). The pair renders every available finite measurement.
distance `d` (ADR 0271). Pair segments name persisted leftover-map
reconstruction `R̂` (ADR 0272). Pair segments name persisted leftover-map
explained leftover share `e` (ADR 0273). The pair renders every available finite measurement.
The next action uses the first available value in the priority below; no
amendment hides another badge, rank 0
explicitly names no leftover structure, and unexplained leftover names
Expand Down Expand Up @@ -76,6 +80,10 @@ Leftover-map coordinate ticks are
[ADR 0270](0270-leftover-map-coordinate-ticks.md).
Leftover-map distance on pair segments is
[ADR 0271](0271-leftover-map-segment-distance.md).
Leftover-map reconstruction on pair segments is
[ADR 0272](0272-leftover-map-segment-reconstruction.md).
Leftover-map explained leftover share on pair segments is
[ADR 0273](0273-leftover-map-segment-explained-share.md).

After `make seed`, closest and farthest leftover pairs sit above the
member list. Click a pair to open that post with the leftover
Expand Down
6 changes: 5 additions & 1 deletion docs/adr/0201-leftover-map-reconstruction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
**Date:** 2026-08-25

**Amended by:** [ADR 0267](0267-leftover-map-coordinates.md)
(leftover-map coordinates ξ, ζ)
(leftover-map coordinates ξ, ζ);
[ADR 0272](0272-leftover-map-segment-reconstruction.md)
(leftover-map reconstruction on graphic-display pair segments);
[ADR 0273](0273-leftover-map-segment-explained-share.md)
(leftover-map explained leftover share on graphic-display pair segments)

Amends [ADR 0048](0048-persist-lsirm-leftover-pairs.md),
[ADR 0049](0049-leftover-pair-report-ui.md), and
Expand Down
4 changes: 3 additions & 1 deletion docs/adr/0266-leftover-map-explained-share.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
**Date:** 2026-08-28

**Amended by:** [ADR 0267](0267-leftover-map-coordinates.md)
(leftover-map coordinates ξ, ζ)
(leftover-map coordinates ξ, ζ);
[ADR 0273](0273-leftover-map-segment-explained-share.md)
(leftover-map explained leftover share on graphic-display pair segments)

Amends [ADR 0048](0048-persist-lsirm-leftover-pairs.md) and
[ADR 0049](0049-leftover-pair-report-ui.md). Independent of leftover-map
Expand Down
10 changes: 8 additions & 2 deletions docs/adr/0268-leftover-map-graphic-display.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@
[ADR 0270](0270-leftover-map-coordinate-ticks.md)
(leftover-map coordinate ticks);
[ADR 0271](0271-leftover-map-segment-distance.md)
(leftover-map distance on pair segments)
(leftover-map distance on pair segments);
[ADR 0272](0272-leftover-map-segment-reconstruction.md)
(leftover-map reconstruction on pair segments);
[ADR 0273](0273-leftover-map-segment-explained-share.md)
(leftover-map explained leftover share on pair segments)

Amends [ADR 0049](0049-leftover-pair-report-ui.md) and
[ADR 0267](0267-leftover-map-coordinates.md). Independent of leftover-map
Expand Down Expand Up @@ -83,7 +87,9 @@ and `ζ`; click a post marker or a pair button opens that post.
Hidden posts stay hidden. Leftover-map axis share captions those
leftover-map axes when finite (ADR 0269). Leftover-map axis ticks name
persisted `ξ` / `ζ` coordinates (ADR 0270). Pair segments name
persisted leftover-map distance `d` (ADR 0271). When coordinates, reconstruction, and
persisted leftover-map distance `d` (ADR 0271). Pair segments name
persisted leftover-map reconstruction `R̂` (ADR 0272). Pair segments name
persisted leftover-map explained leftover share `e` (ADR 0273). When coordinates, reconstruction, and
distance are all finite, `R̂ = ξ_{1:2} · ζ_{1:2}` and
`d = ‖ξ_{1:2} − ζ_{1:2}‖` remain the same identities already
persisted by ADR 0267.
Expand Down
5 changes: 5 additions & 0 deletions docs/adr/0271-leftover-map-segment-distance.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
**Decision status:** Accepted
**Date:** 2026-08-29

**Amended by:** [ADR 0272](0272-leftover-map-segment-reconstruction.md)
(leftover-map reconstruction on pair segments);
[ADR 0273](0273-leftover-map-segment-explained-share.md)
(leftover-map explained leftover share on pair segments)

Amends [ADR 0268](0268-leftover-map-graphic-display.md) and
[ADR 0049](0049-leftover-pair-report-ui.md). Independent of leftover-map
coordinate ticks ([ADR 0270](0270-leftover-map-coordinate-ticks.md)),
Expand Down
Loading
Loading