Switch search/research to ChunkHound and improve git memory sync#13
Switch search/research to ChunkHound and improve git memory sync#13
Conversation
Replace Sia native code retrieval with a ChunkHound CLI bridge while keeping memory and git-sync workflows in Sia. Simplify the test suite by removing Sia-specific indexing/research coverage and keeping wrapper-focused checks.
Generate changelog entries from Merge branch commits so repositories without tags still build semantic release history. Treat --limit 0 as unbounded across sync/list/timeline/changelog flows and document the updated behavior.
Update user and architecture docs to reflect ChunkHound-backed search/research, compat no-op flags, and chunkhound.default_search_mode guidance. Add legacy-context notes in benchmark docs while keeping memory sync/changelog behavior current.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a81d2566bf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| # Build changelog entries from merge commits with explicit | ||
| # "Merge branch ..." subject lines. | ||
| if self.extractor.is_merge_branch_message(event_data.get("summary", "")): |
There was a problem hiding this comment.
Check merge-branch pattern before rewriting event summary
When summarization is enabled, sync() rewrites event_data["summary"] via enhance_timeline_event(...) and then uses that rewritten text to decide whether a merge should generate a changelog. For typical merge commits ("Merge branch '...'"), the summarizer often replaces the subject with a natural-language sentence, so is_merge_branch_message(...) no longer matches and merge-derived changelog entries are silently skipped in that configuration.
Useful? React with 👍 / 👎.
| else: | ||
| rendered = result.stdout |
There was a problem hiding this comment.
Handle table output format explicitly in search command
The CLI still advertises --format table, but the formatter only has dedicated branches for JSON and CSV and falls through to raw ChunkHound stdout for every other format. As a result, --format table no longer produces structured tabular output and behaves the same as plain text, which breaks callers and users relying on the documented table format behavior.
Useful? React with 👍 / 👎.
Summary
searchandresearchto ChunkHound CLI while keeping Sia local memory workflows.memory sync-gitto derive changelog entries fromMerge branch '...'commits and supports unbounded sync/list/timeline/changelog via--limit 0.Validation
uv run --extra dev pytest tests/test_cli_integration.py tests/unit/test_git_sync.py tests/unit/test_chunkhound_cli.py -quv run --extra dev ruff check sia_code/cli.py sia_code/memory/git_events.py sia_code/memory/git_sync.py sia_code/storage/base.py sia_code/storage/sqlite_vec_backend.py sia_code/storage/usearch_backend.py tests/unit/test_git_sync.py🤖 Generated with Claude Code