feat(reports): preserve grouping comparison incomplete-item coverage for serialized reconstruction - #825
Conversation
…arison strip (v2.49.0)
Caption persisted leftover-map incomplete item coverage on GET /api/reports/compare/{period} through leftoverMapIncompleteItemCount (ADR 0292). Distinct aria-label Leftover map comparison incomplete items. Omit when dropped counts are unusable. Do not invent dropped criteria from scored minus used. No SQL. No leftover score or theta.
|
Cycle 2026-08-30T14:30Z: stacked leftover-map incomplete item coverage on the grouping comparison strip (ADR 0292 / v2.49.0) @ exact head |
|
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 |
|
Cycle 2026-08-31T00:13 KST: exact head |
|
Stacked leftover-map reconstruction R̂ on grouping comparison leftover-pair buttons is open as #826 ( |
|
Cycle 2026-08-30T15:35Z: leftover-map axis share on the grouping comparison strip is now stacked as #828 ( |
seonghobae
left a comment
There was a problem hiding this comment.
Parent-first finding: this Ready increment depends on still-open #824 and the unmerged leftover-map stack. Preserve the incomplete-item coverage delta, but return the dependent PR to Draft until its prerequisite chain converges normally.
seonghobae
left a comment
There was a problem hiding this comment.
Current-head stack-authority finding: live base already equals #824 exact 41d65a82ef0f0397714f4876093aee0acc66357a, while the body still cites obsolete parent 8b2ed95 and predecessor verification as current. Preserve ADR 0292/product semantics and Draft status; update authority/evidence rather than reconstructing a stack that is already 0-behind at the PR base.
seonghobae
left a comment
There was a problem hiding this comment.
Fresh descendant-authority finding: #821's current reconstruction shifts the serialized identity sequence, so this historical ADR 0292 / v2.49.0 is not durable authority until #821→#822→#824 are reconstructed on current parents. Preserve the valid incomplete-item comparison delta, but reconstruct only after those parents under the next collision-free ADR/release identity; do not close or retarget around them.
Authorization inheritance is mandatory: persisted incomplete-item/coverage counts are full-group aggregates. If ABAC hides any persisted grouping member, the reconstructed comparison row must omit that aggregate rather than disclose a full-population count/denominator or recompute psychometric coverage from visible criteria/posts/pairs. Fully visible valid persisted zero remains visible.
The inherited-Vietnamese blocker text is stale; use the existing #922/#929/#932 eight-locale translation-ledger path and fresh exact-head rendered/a11y evidence instead. Keep Draft; no predecessor GREEN/approval transfer, force push, destructive rebase, self-approval, or gate weakening.
Summary
Grouping-comparison leftover-map incomplete-item coverage is now reconstructed on exact current #824 without replaying the collided historical tree.
Current stack authority
The product head is now
b73b10e3079e77f3e62235b2b709dc8a3f450292, a non-force fast-forward from historical #825342f78b3ce37724caf66f43b2b9010dbeb4a1e26. Its first parent preserves that historical product head, its second parent is exact current#824@499d653ed6e9206249e3f3a07518ad3fc01f14bd, and its tree is the independently verified workflow-free clean tree6474499b7f1141b4d87ea311fa65bb61cba34299. The serialized product identity is therefore #821 ADR0290/v2.47.0 → #822 ADR0291/v2.48.0 → #823 ADR0292/v2.49.0 → #824 ADR0293/v2.50.0 → #825 ADR0294/v2.51.0. ADR0294 remains Proposed while Draft.The valid product delta is unchanged: missing, non-integer, negative, or item-complete-case-inconsistent dropped-item counts omit only the comparison note; persisted dropped
0remains visible. The client never derives dropped criteria from scored-minus-used, leftover-pair count, plotted criterion markers, distance, rank, post/item coverage, incomplete-post coverage, or unused-axis count.Authorization invariant
Exact #824 already enforces the confidentiality boundary in the compare API: mixed-visibility groupings may remain visible with filtered
post_count, butleftover_map_coverageis absent. #825 consumes only that API-gated field throughleftoverMapIncompleteItemCount; it does not add a raw alternate source or visible-subset recomputation.tests/test_compare_coverage_visibility.pyremains part of the reconstructed GREEN. Fully visible persisted zero stays available.RED → causal repair → reconstructed GREEN
Historical unique commit
bca6baabd917478bf4f6b688ec2755cde95e3575could not be replayed directly on current #824; hosted r3/r4 runs verified exact parent and then exposed the real conflict. r534081109093, job101616411082, provided the realistic product RED by adding only the buyer-facing comparison incomplete-item expectation to exact #824; the focused test failed becauseLeftover map comparison incomplete itemsdid not exist.Later failed runs were harness RCA, not product regressions. The final adopted concurrent lane was
automation/825-current-824-reconstruction-r13-20260907-1350; after exact-source/harness corrections it ran as34083969145, job101624378706, on exact harness head2dad67ec215d1f4213ef74a44a8300140784b373. Exact-parent/bounded-harness verification, frozen frontend install, causal repair, diff integrity, focused App test, 211 i18n/helper tests, oxlint, production build, Storybook build, frozen dev+backend graph, coverage-visibility/governance/package-version tests all passed. The final step removed both temporary harness files and emittedbffdde720cba87a88f1c2291fa76f69a614c35ea, tree6474499b7f1141b4d87ea311fa65bb61cba34299.The clean staging tree was independently re-read after the run: both
.github/workflows/automation-825-current-824-reconstruction-r13.ymland.github/automation/825-r13.pyare absent. A new product merge commitb73b10e3079e77f3e62235b2b709dc8a3f450292was then created from that exact tree with historical #825 first parent and exact #824 second parent, andfeat/leftover-map-compare-incomplete-item-v2490advanced withforce=false.UI / i18n delivery boundary
The reconstructed source/build evidence is GREEN, but material-UI completion is still pending. The product still needs convergence with #922/#929/#932's canonical
ko/en/ja/zh/vi/es/de/frversioned translation-ledger path and fresh exact-product-head normal/loading/empty/error/permission/responsive, keyboard/focus/a11y and rendered browser evidence. Current inline KO/ZH/JA/VI strings are compatibility copy only; they are not a competing translation authority or an eight-locale completion claim.Evidence boundary
Keep Draft. Reconstructed source GREEN and clean product promotion are complete, but hosted exact-product-head gates, authenticated PostgreSQL/k6 acceptance where applicable, rendered browser/a11y acceptance, immutable release evidence, and qualifying independent approval remain non-transferable. #826 must now converge on this exact parent; predecessor GREEN does not transfer. No self-approval, force push, destructive rebase, gate weakening, or parent bypass.
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.