Key retraction misfires on deletion-heavy diffs: weigh matched-row agreement
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 50/100
Hướng nghiên cứu
Tái hiện trường hợp SDVB IMDB mixed_mixed_removal_rows2 và theo dõi logic rút khóa ở lượt đầu tiên liên quan đến change_mass và mức độ đồng thuận giữa các hàng khớp. Hoàn tất có nghĩa là các diff chủ yếu là xóa với những hàng khớp sạch sẽ giữ lại đúng khóa, trong khi các khóa có những hàng khớp bất đồng nghiêm trọng vẫn có thể bị rút; kiểm tra các trường hợp WINE_small để làm phạm vi kiểm thử hồi quy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
When a guessed key is correct but the diff is dominated by row deletions, change_mass counts dropped rows in full, pushing changed mass past MAX_PLAUSIBLE_CHANGE_PERCENT (50%). The correct key is then retracted as excessive_change, and the second guess can land on a structurally-unique but semantically wrong column.
Reproducer from the SDVB benchmark (IMDB mixed_mixed_removal_rows2, 800 → 47 rows, a genuine 94% row deletion):
# declared key: honest answer
table_key([Series_Title], basis: declared)
row_drop(rows: 753)
# guessed key: retraction misfires
key_retracted([Series_Title], reason: excessive_change)
----
table_key([Overview], basis: guessed, overlap: 1.00)
table_regenerate()
The retracted key was producing the better diff; the re-guess on Overview (free text, unique on both sides) yields table_regenerate() — strictly less informative.
Proposed signal
The two cases the retraction trigger must distinguish leave different evidence in pass one:
- Wrong key: matched rows disagree heavily in their cells.
- Right key + massive deletion: matched rows are essentially clean; the change mass comes entirely from dropped rows.
In the example above, the 47 matched rows under Series_Title had ~zero changed cells, fully corroborating the key. A refinement: retract only when the matched rows themselves disagree heavily, or exempt deletion-dominated mass when matched rows are clean.
Found while running data-diff against the SDVB benchmark; also affects the WINE_small key_retracted cases (3 pairs).
- Ngôn ngữ chính
- Rust
- Star
- 34
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của hadley/data-diff
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Rewrite design.md for humansĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
-
Actually understand HyUCCĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Add tolerant double comparisonĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Tất cả issue của hadley/data-diff
Issue tương tự
-
desktop documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
vfarcic/dot-agent-deck#2008 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs triage
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
pbakaus/impeccable#1210 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Deduplicate the `--yes`/non-interactive-terminal refusal guard (three near-identical copies)Đang mởenhancement ux-opportunities
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: ci priority: P4 ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
shep-pm/shep#1249 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`PartialEq` for `AssignedBigUint` treats different values as equalCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởstatus:untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
midnightntwrk/midnight-zk#600 ·
Maintainer thường phản hồi trong vòng 2 ngày