feat: auto-reindex on git events (watchdog, hooks, watch)#68
Open
VioletCranberry wants to merge 1 commit intomainfrom
Open
feat: auto-reindex on git events (watchdog, hooks, watch)#68VioletCranberry wants to merge 1 commit intomainfrom
VioletCranberry wants to merge 1 commit intomainfrom
Conversation
Three composable layers that keep the index in sync without manual reindex, all sharing one core (src/cocosearch/auto_reindex.py): - MCP server watchdog (on by default, stdio): polls git state every autoReindex.intervalSeconds and triggers an incremental reindex on branch/commit drift, reusing the existing _indexing_lock/_active_indexing pair so it coordinates with /api/reindex. - cocosearch hooks install/uninstall/status: marker-wrapped post-checkout, post-merge, post-commit, post-rewrite hooks in $(git rev-parse --git-common-dir)/hooks. Append-safe (husky/pre-commit/lefthook coexistence), idempotent, worktree-safe. - cocosearch watch: foreground polling loop calling run_reindex_sync every --interval seconds (default 30). Cheap because flow.update() is already content-hash incremental. Adds --if-exists and --quiet flags on cocosearch index so hooks stay silent and never auto-create indexes. Adds AutoReindexSection to config schema (enabled/intervalSeconds) plus env var overrides. Dependency extraction auto-reruns on every trigger when the deps table exists. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three composable layers that keep the index in sync without manual reindex, all sharing one core (src/cocosearch/auto_reindex.py):
Adds --if-exists and --quiet flags on cocosearch index so hooks stay silent and never auto-create indexes. Adds AutoReindexSection to config schema (enabled/intervalSeconds) plus env var overrides. Dependency extraction auto-reruns on every trigger when the deps table exists.