Skip to content

feat(*): restore standalone split feature#1390

Open
Nickersoft wants to merge 6 commits intomainfrom
claude/restore-odict-split-m8awz
Open

feat(*): restore standalone split feature#1390
Nickersoft wants to merge 6 commits intomainfrom
claude/restore-odict-split-m8awz

Conversation

@Nickersoft
Copy link
Member

No description provided.

claude and others added 6 commits February 27, 2026 03:27
Restores the split command that was absorbed into lookup -s. The key
behavioral difference: split() always runs the greedy segmentation
algorithm directly, while lookup -s tries an exact match first and only
splits as a fallback.

Changes:
- lib: add SplitOptions struct (lib/src/core/split.rs)
- lib: add perform_split() kernel and split() method to lookup! macro;
  refactor perform_lookup() to delegate to perform_split() for deduplication
- lib: fix byte-boundary bug from original split implementation (now uses
  char count instead of byte length for threshold comparison)
- lib: add split tests (lib/tests/split.rs)
- cli: add odict split command with -m/--min-length, -F, -i, -r flags
- serve: add GET /{name}/split HTTP endpoint
- node: add SplitOptions type and split() method on OpenDictionary
- node: add split tests
- python: add SplitOptions type and split() method on OpenDictionary
- python: add split tests

https://claude.ai/code/session_01VQ1ponG9b5YivzuUY9cJnd
Adds tests for: no matches, empty string, threshold behavior, multiple
queries with order preservation, follow=false, follow=true (with
directed_from verification), case-sensitive default, and
case-insensitive mode.

https://claude.ai/code/session_01VQ1ponG9b5YivzuUY9cJnd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants