Skip to content

fix(ui): make lineage group order locale-independent - #903

Draft
seonghobae wants to merge 49 commits into
mainfrom
fix/lineage-layout-locale-determinism
Draft

seonghobae wants to merge 49 commits into
mainfrom
fix/lineage-layout-locale-determinism

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 1, 2026 •

Copy link
Copy Markdown
Contributor

Buyer-visible scope

This Draft repairs deterministic and accessible Event Lineage presentation without changing lineage truth, persistence, provenance, inference semantics, or domain identity.

The candidate keeps locale-independent reconstruct-group ordering; literal Ungrouped identity distinct from truly ungrouped records; input-order-independent node/edge layout; deterministic parallel-edge selection; locale-safe accessible disambiguation; offset-aware UTC ordering; stable selection across unrelated rerenders; pointer/touch acquisition for thin SVG edges; deterministic evidence-table ordering by domain evidence rank; and fail-closed duplicate canonical node identity, visible self-loops, and visible same-group directed cycles.

Material-UI acceptance remains exact-head scoped. Predecessor local/hosted Storybook or Chromium evidence is not transferred after head movement.

TDD lineage retained

  • evidence-order RED cab4cd016759450ccc17c500c6e5a41ab5536da4 → GREEN 3de188f91f36124c13e35eadd6b86afba38e608f
  • duplicate-id RED 67044bdff74b7a9d6e64b840a9fa4758dcd551d6 → GREEN a51efc49969918da984926972c9a2ed0dbbdaa20
  • pre-isolation RED 0c8d503ef0c897dd0f7a2295bd0578d296503ea8 → GREEN 95b6943febb9683273a0387697dd78d7a663f7f6
  • self-loop RED 19595f583b2dc0dc1fac04ac9b909bbcfedf629f → GREEN 28ca1e397096aff7afc0e977bbbfa02bee5c5b22
  • visible-cycle RED 749f301b463fa04e6381bd92541c59d5b6061aa3 → GREEN fef6343811dd76abed6970c2b785458147660006
  • changelog alignment 1a63d2980ca9c8e1bc2698bf90181a07b29bd4ee

These guards are presentation fail-closed behavior only. They create no synthetic node identity, replacement relationship, or new lineage fact.

Protected-main convergence

Fresh review 5116222327 found that the branch still diverged from protected main@83eba56149eb802cd63642c507c324c9976ec78e by six commits. The intervening protected delta is #931's repository-local Draft-admission repair and touches only .github/workflows/{tests,prov-o-contract,ontology-pages}.yml plus tests/test_tests_workflow_contract.py; PR #903's 17 product/UI changed files are disjoint.

The branch was repaired non-destructively at e325b3f63fdb9c34a7c62ae58045ec36e34b1879: exact protected blobs for those four files were adopted and a two-parent commit preserved both histories. No force-push, destructive rebase, gate weakening, or product-delta rewrite was used.

Exact live boundary

  • protected base: main@83eba56149eb802cd63642c507c324c9976ec78e
  • exact current head: e325b3f63fdb9c34a7c62ae58045ec36e34b1879
  • PR: open / Draft / mechanically mergeable
  • live ancestry: protected main is a parent of the current head; predecessor b0e94aa… base evidence is superseded
  • repository-local exact-head Tests 33902540271: completed skipped under the protected Draft-admission contract
  • central exact-head CodeQL 33902540239, Security 33902540308, SAST 33902540204: queued at this snapshot
  • exact-head product GREEN: not claimed
  • qualifying independent current-head APPROVE: none established in this convergence step

Keep Draft. Re-establish current-head Storybook/Chromium desktop/mobile, responsive overflow, pointer/touch, keyboard/focus and accessibility evidence when the review lane is admitted; predecessor browser/check/review results do not transfer.

Documentation evidence boundary

docs/product-technical-gap-baseline.md contains dated historical overlays. Its older b0e94aa… #903 snapshot is retained as historical evidence, not treated as the current live authority; this PR body and GitHub exact refs are the current delivery boundary until a non-destructive baseline overlay can supersede it without rewriting historical evidence.

@coderabbitai

coderabbitai Bot commented Sep 1, 2026 •

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Exercise the Storybook LineageDag in real Chromium at desktop, intermediate, and mobile widths. Verify named and truly ungrouped identities remain separate across remount, mobile overflow stays inside the scroll region, keyboard focus is visible, and edge evidence opens from the keyboard.
Merge protected main@3f61c824 into the Lineage DAG UI branch without rewriting its history. The intervening main delta only adds docs/index.md and does not overlap the UI/layout/browser-acceptance changes.
@seonghobae seonghobae added the bug Something isn't working label Sep 2, 2026 — with ChatGPT Codex Connector
seonghobae and others added 2 commits September 3, 2026 14:34
Adopt #924's restored docs-contract test triggering while preserving deterministic Event Lineage presentation without force rewrite.
@seonghobae
seonghobae marked this pull request as ready for review September 4, 2026 06:58
@seonghobae
seonghobae enabled auto-merge (squash) September 4, 2026 06:58
@seonghobae
seonghobae marked this pull request as draft September 4, 2026 07:48
auto-merge was automatically disabled September 4, 2026 07:48

Pull request was converted to draft

Adopt the protected #931 Draft-admission workflow delta on the Event Lineage branch while preserving the branch's product/UI changes. The protected delta and PR delta touch disjoint files, so this merge commit keeps both histories without destructive rebase.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fresh protected-main review found the branch still diverged from main@83eba56149eb802cd63642c507c324c9976ec78e by the six protected commits that introduced #931's repository-local Draft admission contract. The PR's 17 product/UI changed files do not overlap the four protected workflow/contract files, so leaving it on b0e94aa… would make the branch carry a stale CI contract and stale base evidence. Repaired non-destructively at e325b3f63fdb9c34a7c62ae58045ec36e34b1879: exact protected blobs for Tests/PROV-O/Ontology and tests/test_tests_workflow_contract.py were adopted, then a two-parent merge commit preserved both histories. No force-push/rebase or product delta rewrite. Current-head hosted gates and browser/a11y evidence must be re-established; predecessor evidence does not transfer.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant