Skip to content

CLI-only local sync is a dead end: docs reference removed 'basic-memory sync', status --wait can never finish, bm reindex is the undiscoverable answer #959

Description

@phernandez

Summary

For CLI-only usage (no running MCP/API server), there is no discoverable way to index externally-created files, and the existing signposts actively mislead:

  1. README.md:593 and the repo CLAUDE.md still reference basic-memory sync — the command no longer exists (No such command 'sync')
  2. bm status correctly reports pending changes (notes/ +1 new)
  3. bm status --wait claims to "block until indexing is complete" — but in CLI-only contexts it always times out: the SyncCoordinator that does the indexing starts in the API app lifespan (api/app.py:71), and the CLI's httpx ASGITransport never runs the lifespan, so no indexer is running and none will come
  4. The actual answer is bm reindex (incremental filesystem scan by default) — verified working — but nothing points to it, and its name suggests rebuilding rather than picking up new files

Reproduction (v0.21.6 / main @ 650f88a)

mkdir -p ~/scratch/notes && echo "..." > ~/scratch/notes/note.md
bm project add scratch ~/scratch --local
bm status --project scratch              # → "notes/ +1 new"  ✓
bm sync                                  # → Error: No such command 'sync'
bm status --project scratch --wait --timeout 60
# → "Error: Timed out after 60s ... (1 pending change(s) remaining)"
bm tool read-note "notes/note" --project scratch --local   # → all-null payload
bm reindex --project scratch             # → indexes + embeds the file  ✓
bm tool read-note "notes/note" --project scratch --local   # → works  ✓

Suggested fixes (any subset)

  • Update README/CLAUDE.md to stop referencing basic-memory sync
  • Make bm status --wait fail fast (or warn) when no sync coordinator can run, pointing at bm reindex
  • Consider a bm sync alias for bm reindex's incremental scan — it's what users coming from the documented workflow will type

Context

Found during #952 manual verification (section 1 CLI page sweep). Same session as #954#958.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions