Currently there's no built-in way to detect when bm watch has finished processing a batch of file changes. Users need to poll bm status or use search_notes as a proxy to detect completion.
Use cases:
- Bulk imports: Writing hundreds of notes and waiting for indexing to complete before querying
- Benchmarking: Need deterministic timing for when index is fully up-to-date
- Integration testing: Synchronizing test steps that depend on indexed data
Current workarounds:
- Poll
bm status until files_out_of_sync hits 0
- Search for a known note from the batch and wait for it to appear
- Run
bm reindex (synchronous but reprocesses everything, slow for large projects)
Potential solutions:
- MCP notification: Emit an event when watch completes a batch (e.g.,
indexing_complete notification)
bm status --wait flag: Block until sync complete, then exit (like git status but waits)
- Event stream: Watch emits structured events (
indexing_started, indexing_complete) on stdout
- Progress indicator: Simple output like "Indexed 71/71 files" when batch completes
Context:
- @Brennall: bulk importing 400 notes, needs to know when batch is indexed before querying
- @groksrc: ran into this while working on benchmarks
Prefer option 1 (MCP notification) or option 2 (--wait flag) for cleanest integration with existing tooling.
Currently there's no built-in way to detect when
bm watchhas finished processing a batch of file changes. Users need to pollbm statusor usesearch_notesas a proxy to detect completion.Use cases:
Current workarounds:
bm statusuntilfiles_out_of_synchits 0bm reindex(synchronous but reprocesses everything, slow for large projects)Potential solutions:
indexing_completenotification)bm status --waitflag: Block until sync complete, then exit (likegit statusbut waits)indexing_started,indexing_complete) on stdoutContext:
Prefer option 1 (MCP notification) or option 2 (
--waitflag) for cleanest integration with existing tooling.