Skip to content

Update Duplicate Detection#77

Open
Lightning11wins wants to merge 121 commits intomasterfrom
dups
Open

Update Duplicate Detection#77
Lightning11wins wants to merge 121 commits intomasterfrom
dups

Conversation

@Lightning11wins
Copy link
Copy Markdown
Contributor

@Lightning11wins Lightning11wins commented Nov 14, 2025

The duplicate detection project is ready to review, although (best case), there are still a couple of things blocking it from being ready to merge.

I would appreciate a full review of all changes, as there's quite a lot here. That said, some areas may require additional special attention, so I've compiled a list of all 28 TODO: Greg comments below. (Note: Some of my todos assume the reader understands various pieces of nearby context / has generally read the indicated source code.)

  • 3 TODO: Gregs in objdrv_cluster.c
  • 1 TODO: Greg in mtsession.md.
  • 1 TODO: Greg in xarray.md.
  • 1 TODO: Greg in xstring.md.

Please let me know if you have any questions, comments, or concerns about my changes and design choices.

Israel added 10 commits October 13, 2025 09:53
Improve edge case logic in comparison functions.
Remove unregister driver function.
Clean up exp_functions.c.
Simplify dataqa_duplicates component in preparation for making it the boundary into our new duplicate system.
Add exp functions: sparse_eql(), ln(), and logn().
Fix bugs in comparison functions.
Make minor tweaks to objdrv_cluster.c.
Modify cluster files to use string keys.
Build vectors fully sparsely.
Add ca_fprint_vector().
Add snprint_llu().
Add exp_fn_trim().
Update exp_fn_cmp().
Organize exp function definitions by group.
Add statistics tracking to cluster driver.
Reduce minimum hint threshold.
Add array handling to ci_xaToTrimmedArray().
Update timer to handle multiple starts and stops properly.
Re-add Levenshtein to exp_functions.
Publish edit_dist() in the cluster library.
Fix mistakes in cluster driver function signatures.
Fix spelling mistakes.
Add detail to an error message in the lexer.
Remove unused .cluster files.
Clean up cluster-schema.cluster.
Clean up other unused junk.
Add known issues to string similarity documentation.
Clean up and organize todos.
Clean up testing code in several files.
@Lightning11wins
Copy link
Copy Markdown
Contributor Author

Kardia PR.

@Lightning11wins
Copy link
Copy Markdown
Contributor Author

I'd probably recommend rebasing these into one commit, but that's up to you.

Israel added 10 commits November 14, 2025 16:10
…ast commit).

Update tests to pass with this modification.
… caches).

Fix a formatting issue with the stat method.
Fix a missing include in the util.c library.
…le hundred bytes.

Add check_double() to handle functions that return NAN on failure.
Clean up.
…rary.

Round similarity results to avoid floating point errors.
Enable caching for memory allocated in get_cluster_size().
Rename edit_dist() to ca_edit_dist() to match format for public functions.
Rename print_diagnostics() to print_err().
@Lightning11wins
Copy link
Copy Markdown
Contributor Author

@greptileai Please re-review.

@Lightning11wins
Copy link
Copy Markdown
Contributor Author

@greptileai Please re-review.

Add testing for attributes selected by *.
Add some testing for the sliding window clustering algorithm.
Add window_size cluster attribute.
Clean up and update syntax.
@Lightning11wins Lightning11wins requested a review from nboard March 24, 2026 19:06
# Conflicts:
#	centrallix-lib/src/strtcpy.c
@Lightning11wins
Copy link
Copy Markdown
Contributor Author

Lightning11wins commented Mar 24, 2026

TODO: Update this to use the new expect.h functionality.

Done.

Fix m4 macros not adding -DHAVE_BUILTIN_EXPECT to CFLAGS.
Fix CHECK_BUILTIN_EXPECT being run too early, causing its CFLAGS to be clobbered by something.
Fix typo in the module line of the expect.h copyright notice.
Remake configure files.
Modify magic functions to print errors to stderr instead of stdout.
Add explicit tree->Alloc = 0; to some exp_functions.
Add error checking.
Add consts.
Re-add typecasts that I thought were optional.
Improve comments.
Clean up.
@Lightning11wins Lightning11wins requested a review from nboard March 26, 2026 17:13
@Lightning11wins
Copy link
Copy Markdown
Contributor Author

@greptileai Please rereview.

@Lightning11wins
Copy link
Copy Markdown
Contributor Author

@greptileai I fixed your comments. Review that they are fixed properly. Also, though, I noticed that all of these are in code that wasn't changed recently, so it looks like there are latent bugs we haven't been catching. Please do another thorough re-review of the ENTIRE PR to see if there are any bugs in ANY of the previous work.

Add some error checking.
Add expect.h to mtask.c.
Add recursion checking.
@Lightning11wins
Copy link
Copy Markdown
Contributor Author

@greptileai I fixed your comments. Review that they are fixed properly. Also, though, I noticed that all of these are in code that wasn't changed recently, so it looks like there are latent bugs we haven't been catching. Please do another thorough re-review of the ENTIRE PR to see if there are any bugs in ANY of the previous work.

Add HAVE_BUILTIN_EXPECT to config.h.in and cxlibconfig.h.in.
Add code to include cxlibconfig.h.in from expect.h.
Add comments to explain what each .h.in file is used for.
Remove checks for __builtin_expect() from centrallix because we only need them in centrallix-lib.
Remove cflags -DHAVE_BUILTIN_EXPECT because using configs is better.
Rebuild configure files.
@Lightning11wins
Copy link
Copy Markdown
Contributor Author

@greptileai I fixed your comments. Review that they are fixed properly. Also, though, I noticed that all of these are in code that wasn't changed recently, so it looks like there are latent bugs we haven't been catching. Please do another thorough re-review of the ENTIRE PR to see if there are any bugs in ANY of the previous work.

@Lightning11wins
Copy link
Copy Markdown
Contributor Author

@greptileai I fixed your comments. Review that they are fixed properly. Also, though, I noticed that all of these are in code that wasn't changed recently, so it looks like there are latent bugs we haven't been catching. Please do another thorough re-review of the ENTIRE PR to see if there are any bugs in ANY of the previous work.

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

Labels

ai-review Request AI review of this PR enhancement testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants