feat(reports): leftover-map explained leftover share on grouping comparison graphic (v2.68.0) - #851
Conversation
…arison graphic (v2.68.0)
Caption persisted leftover-map explained leftover share e on the grouping
comparison leftover-map graphic from already-named leftover_map_explained_share
(ADR 0311). Comparison copy uses leftover map comparison graphic explained
leftover share {label} so it stays distinct from hyphen leftover-map explained
leftover share {label} and from strip Leftover map comparison explained leftover
share. A missing or non-finite e omits that caption and keeps leftover-map
reconstruction and comparison graphic coverage notes. Rank-0 origin cells still
name R̂²/R² 0.00 when that explained leftover share is finite. Do not invent e
from leftover-map reconstruction or leftover residual. Never invent a leftover
score. Never invent a theta. No new columns.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
|
Queue retry: leftover-map explained leftover share on grouping comparison graphic (v2.68.0 / ADR 0311). Independent APPROVE required before squash-merge. Do not self-approve. Next stacked increment is leftover-map unexplained leftover share on that comparison graphic. Issues #79 and #87 stay open. #96 is already closed. |
|
Cycle retry 2026-08-31 06:40 KST: exact head Next stacked increment (ADR 0312 / v2.69.0) captions leftover-map unexplained leftover share on the grouping comparison leftover-map graphic with distinct accessible name |
| [project] | ||
| name = "lineageweave" | ||
| version = "2.67.0" | ||
| version = "2.68.0" |
There was a problem hiding this comment.
🟡 Version bump leaves frozen lock stale
The version bump declares 2.68.0, but the frozen lock still identifies lineageweave as 2.65.0. Frozen installs can fail or package the old release.
Prompt for agents
Regenerate uv.lock from the updated pyproject.toml so the local lineageweave package entry records version 2.68.0. Verify the repository's frozen CI sync and backend Docker installation succeed with the refreshed committed lock.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
유효한 finding으로 재현했습니다. 직전 exact head 72df615a8fb1350217039c6a62007243a6322ccc에서 pyproject.toml은 2.68.0인데 editable lineageweave의 uv.lock 항목은 2.65.0입니다. RED 0ec28288cbc051ea65887e67d18a6f58ef2ed143에서 tests/test_project_lock_version_parity.py를 추가해 project/lock version 불일치를 executable gate로 고정했습니다. 현재 runtime에서는 uv.lock 전체를 안전하게 재생성·검증할 수 있는 locked dependency 환경을 확보하지 못했으므로 숫자만 수동 치환하거나 frozen-install GREEN을 가장하지 않습니다. uv lock으로 재생성한 정확한 lock blob과 frozen install 검증이 생길 때까지 이 thread는 unresolved/Draft로 유지합니다.
There was a problem hiding this comment.
Fresh exact-head evidence confirms this finding remains active on 86f1d822df1b5989b6625cbbec9c3e909b5593de. Tests run 34514477701, full-suite job 102996374642, uses uv 0.11.28; uv sync --frozen --extra dev --extra backend succeeds and installs local lineageweave==2.68.0, but the full suite then fails only tests/test_project_lock_version_parity.py: committed uv.lock records editable LineageWeave 2.65.0 while pyproject.toml is 2.68.0 (1 failed, 1767 passed, 147 skipped). This is exactly why frozen-install success is insufficient evidence. Keep this thread unresolved until repository-authoritative uv lock regeneration updates the committed generated lock and the same parity/frozen-install path is GREEN; no manual lock edit.
|
Cycle 2026-08-31T06:40 KST: retrying GitHub writes (close/merge/comment/push). Head 2d6e8e7 v2.68.0 leftover-map explained leftover share on grouping comparison graphic. Not self-approving. Independent APPROVE required before squash-merge. |
|
Stacked #852 leftover-map unexplained leftover share on grouping comparison graphic (v2.69.0 / ADR 0312) is open on this head. Independent APPROVE required. Do not self-approve. Do not squash-merge onto the unprotected leftover base. |
|
Scheduled review-feedback autofix for this PR head.
|
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head RCA from predecessor 0ec28288cbc051ea65887e67d18a6f58ef2ed143 broadened the release-identity finding: hosted PostgreSQL run 34479382143 installed successfully with uv sync --frozen, then test_release_versions_are_synchronized failed because runtime lineageweave.__version__ was 2.41.0 while pyproject.toml and frontend/package.json were 2.68.0; the new lock parity regression separately failed because the editable uv.lock entry remained 2.65.0. Frozen installation therefore was not evidence of coherent release identity. Current ordinary child 9a3dbe93b72fadba588bad89d34fa5049954f70f causally repairs the runtime leg only by aligning __version__ to 2.68.0; the generated-lock RED remains and is not hand-edited. The same predecessor frontend run also has independent small-canvas and Vietnamese-copy REDs, so this PR remains Draft and is not claimed GREEN.
seonghobae
left a comment
There was a problem hiding this comment.
Exact head 9a3dbe93b72fadba588bad89d34fa5049954f70f의 기존 RED를 current source와 대조했습니다. layoutLeftoverMapPlot()은 requested height와 무관하게 PLOT_PADDING=40을 person/item/origin/ticks 좌표 변환에 넘기므로 {height: 20}에서 innerH=-60이 되어 실제 음수 좌표를 생성합니다. 이어 caption stack도 고정 12px offset만 사용하고 canvas bounds를 알지 못해 labelY=-20 같은 결과가 발생합니다. 이는 fixture artifact가 아니라 size contract의 causal defect입니다. 최소 repair는 requested dimensions에 맞춰 geometric padding과 caption baseline/stack Y를 bound하되 persisted d/R̂/e truth, omission rules, axis coordinate semantics는 바꾸지 않는 것입니다. Vietnamese 두 RED는 별도 copy defect로 유지하며 canonical translation authority #929/#932를 우회하지 않아야 합니다.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head verification narrows this PR to two causal RED groups. 34514477701 / frontend 102996374268 proves the compact-canvas repair is GREEN: lint passes, layout 53/53, plot 40/40, and the dedicated small-canvas regression passes. The only frontend failures are the two Vietnamese-copy assertions: the explained-share label still says phần dư giải thích... rather than an explicit share (tỷ phần phần dư được giải thích...), and the expanded graphic description falls back to English. Full-suite job 102996374642 independently finishes 1 failed / 1767 passed / 147 skipped; the sole failure is the generated-lock parity gate (uv.lock editable LineageWeave 2.65.0 vs project 2.68.0), even though uv sync --frozen successfully installed the project as 2.68.0. Keep Draft. Repair only the Vietnamese product resources plus repository-authoritative uv lock regeneration; do not regress the now-GREEN compact layout or hand-edit the generated lock.
seonghobae
left a comment
There was a problem hiding this comment.
Current-head verification found the second Vietnamese RED is partially a test-authority defect, not only production copy. frontend/src/leftoverMapPlotVietnameseCopy.test.tsx duplicates a historical shortened graphic-caption string that omits the current production clause about complete-case/item/incomplete coverage. LEFTOVER_MAP_PLOT_CAPTION on this exact head contains that clause, and i18n.ts has a Vietnamese resource for the current full key. Therefore the test's direct tf(GRAPHIC_DISPLAY_COPY, {}) call can fall back to English for a key the production component no longer uses. Repair the regression to import/use the production caption constant (or otherwise bind to the exact production key) before using it as causal RED evidence. Keep the explicit Vietnamese-share assertion: the current full Vietnamese resource still says phần dư giải thích e, so the intended terminology defect remains reproducible after the harness is corrected. This is a test-harness repair, not a reason to weaken or drop the production Vietnamese-copy requirement.
seonghobae
left a comment
There was a problem hiding this comment.
현재 RED 두 건은 유효하지만, 이번 PR이 새로 도입한 production key leftover map comparison graphic explained leftover share {label}의 베트남어 값도 같은 의미 손실(phần dư giải thích ...)을 갖고 있습니다. e는 residual 자체가 아니라 explained leftover share이므로 이 key도 tỷ phần ... được giải thích ...처럼 share를 명시해야 합니다. 기존 Vietnamese regression이 inherited strip key와 plot caption만 검사하므로, 새 comparison-graphic key 자체를 production constant에 묶어 RED로 추가한 뒤 세 문자열을 함께 고치는 편이 causal boundary에 맞습니다. 기존 수치/finite-zero/non-finite omission 계약은 변경하지 않아야 합니다.
seonghobae
left a comment
There was a problem hiding this comment.
현재 exact head에서 남은 Vietnamese RED 두 건을 재확인하는 과정에서, 이 PR 자체가 추가한 grouping-comparison graphic의 접근성 이름도 같은 의미 손실을 갖고 있습니다. LEFTOVER_MAP_COMPARE_PLOT_SEGMENT_EXPLAINED_SHARE는 leftover map comparison graphic explained leftover share {label}을 사용하지만 vi 번역은 phần dư giải thích đồ họa so sánh bản đồ phần dư {label}이라 share/tỷ phần 의미가 사라집니다. LeftoverMapPlot의 comparison variant가 이 상수를 segment aria-label에 직접 사용하므로 buyer-visible/a11y copy 결함입니다. 기존 두 assertion만 고치면 이 PR의 주 경로가 여전히 의미적으로 불완전합니다. Vietnamese regression에 comparison production constant를 직접 추가하고, report segment/full caption과 함께 명시적 explained-share 용어를 쓰도록 causal repair해야 합니다. 다른 locale나 측정 의미는 변경하지 않습니다.
Summary
Captions persisted leftover-map explained leftover share
eon the grouping-comparison graphic when the persisted formatter yields a usable value (ADR 0311 / v2.68.0). Read-model/UI composition only: no SQL/new columns, no invented score, and no derivation from neighbouring statistics.Current exact authority
40a6b04c1a1fe81dbb6297aadea9158b9b64495599f92eb4a1b1a646b1188a31fbe3d164fb5b5d306198104f43f843b3363b28803b608966b40834d4Repaired RED→GREEN evidence
#999 preserved explicit Vietnamese explained-share semantics in the report segment, comparison graphic accessible name, and expanded plot caption; regenerated
uv.lockwith repository-authoritativeuv; and updated only the stale Vietnamese expectations exposed by the repaired production copy.26bf97ab0ba0228cb22253590f1ebd68c66f2c33: exactly one failing Vietnamese comparison assertion while the earlier assertions stayed GREEN; minimal source repair then produced lint GREEN and 96/96 focused tests GREEN.34529174433reproduced 3/252 obsolete Vietnamese expectations, changed those expectations only, then produced lint GREEN and 348/348 focused tests GREEN.34528462950:uv lock --checkGREEN and editablelineageweave2.65.0 -> 2.68.0.34529327417: frontend and full suite terminal GREEN before normal integration.34531209969: new validation admission after integration; do not transfer predecessor GREEN while this run is incomplete.Descendant convergence
Parent movement invalidates predecessor descendant evidence. #852 owns the next unexplained-share increment and its separate Vietnamese accessible-name RED. It must inherit this exact repaired parent non-force before its own fix/acceptance; then #853→#857 must converge in order and #858 remains a semantic-reconstruction lane. No descendant may copy this parent-owned repair independently or transfer an older GREEN across the moved parent.
Product invariants
eomits only its graphic caption; finite zero remains displayable.Keep Draft until exact-head repository/security validation is GREEN, descendants are non-force converged/revalidated, browser/a11y/performance evidence is current, and qualifying independent approval exists. No self-approval, bypass, force push, destructive rebase, generated-lock hand edit, ancestor skip, or stale-evidence transfer.