Skip to content

docs(cli): document personal workspace sync#857

Closed
groksrc wants to merge 1 commit into
mainfrom
codex/851-cloud-sync-help-docs
Closed

docs(cli): document personal workspace sync#857
groksrc wants to merge 1 commit into
mainfrom
codex/851-cloud-sync-help-docs

Conversation

@groksrc

@groksrc groksrc commented May 26, 2026

Copy link
Copy Markdown
Member

Summary

  • mark cloud sync/bisync/check help as Personal workspace local mirror workflows
  • document that Team workspaces use cloud API/MCP routing instead of local multi-user rclone sync
  • update the cloud CLI docs to use bm cloud ... sync command examples

Verification

  • uv run pytest tests/cli/cloud/test_project_sync_command.py
  • uv run ruff check src/basic_memory/cli/commands/cloud/project_sync.py tests/cli/cloud/test_project_sync_command.py
  • uv run ruff format --check src/basic_memory/cli/commands/cloud/project_sync.py tests/cli/cloud/test_project_sync_command.py
  • just typecheck

Fixes #851

Signed-off-by: Drew Cain <groksrc@gmail.com>
@github-actions

github-actions Bot commented May 26, 2026

Copy link
Copy Markdown
Contributor

Claude finished @groksrc's task in 1m 18s —— View job


Code Review

  • Gather context and understand the PR
  • Read changed files
  • Review against Basic Memory team checklist
  • Post final review

Summary

This is a focused documentation-only PR (plus a small test) that:

  1. Updates all bm project sync/bisync/check/bisync-reset examples in docs/cloud-cli.md to bm cloud ... — reflecting the actual registered command paths
  2. Adds "Personal workspace local mirror only" + "Not supported for Team workspaces" messaging to all 5 sync command docstrings
  3. Adds a parametrized test verifying the new help text appears in --help output for all 5 commands

The command path fix (bm projectbm cloud) aligns the docs with the code: all these commands are registered under cloud_app, not project_app, so the docs were previously incorrect.


Checklist Results

Code Quality & Standards

  • ✅ Follows Basic Memory coding conventions
  • ✅ No new logic introduced — docstring and doc changes only
  • ✅ 100-character line length maintained
  • ✅ No commented-out code

Testing & Documentation

  • ✅ New parametrized test covers all 5 commands (sync, bisync, check, bisync-reset, sync-setup)
  • ✅ Test verifies both new help strings: "Personal workspace local mirror only" and "Not supported for Team workspaces"
  • ✅ 100% coverage maintained — test validates the docstring content added in this PR
  • docs/cloud-cli.md comprehensively updated — verified no stale bm project sync/bisync/check references remain (50 occurrences of the new bm cloud ... form)

Basic Memory Architecture

  • ✅ No architectural changes — purely documentation
  • ✅ Preserves local-first architecture principles in messaging

Security & Performance

  • ✅ No secrets, no new input paths, no performance concerns

Compatibility

  • ✅ No file path comparisons, no emojis/unicode in console output

Minor Observations

  1. importlib.import_module in the new test (test_project_sync_command.py:21) — this is a pre-existing pattern in the test file (lines 39, 74) to ensure the module is registered before the CLI runner invokes it. The new test follows the same pattern, which is consistent.

  2. {{OSS_DISCOUNT_CODE}} placeholder in docs/cloud-cli.md line ~91 — pre-existing, not introduced here.

  3. bm project list --workspace <workspace> (docs line 15, new text) — references a --workspace flag. Worth confirming this flag exists or is planned; if it's not yet implemented, the wording could mislead users. Not a blocker for merging.


Overall: Clean, low-risk PR. The changes are correct and complete — all bm project sync/bisync/check references in the docs have been updated to bm cloud, and the new help text clearly communicates Personal vs. Team workspace scope. The new test is well-structured and provides good regression coverage.

Approved for merge (no blocking issues)

@phernandez

Copy link
Copy Markdown
Member

Reviewed while sweeping open PRs. I did not merge this one because the current wording is stale after the final #855 decision: #855 now allows Team/organization workspaces to use one-way bm cloud sync and points users away from bisync, while this PR still says sync, check, and sync-setup are not supported for Team workspaces.\n\nBefore this is ready, please rebase after #855/#856 and narrow the help/docs language so only the unsafe bidirectional mirror path is described as Personal-only. The useful part here is still the bm project ... -> bm cloud ... docs correction.

@phernandez phernandez marked this pull request as ready for review May 30, 2026 19:16
@phernandez phernandez marked this pull request as draft May 30, 2026 19:17

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 41d12cba95

ℹ️ 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".

Comment on lines +98 to +101
"""Personal workspace local mirror only.

One-way sync: local -> cloud (make cloud identical to local).
Not supported for Team workspaces - use cloud API/MCP routing instead.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Prevent Team workspace rclone sync at runtime

This help now says Team workspaces are not supported, but the command still proceeds for any cloud project name: if a config entry has workspace_id for an organization workspace plus local_sync_path, _get_cloud_project() will route to that workspace and then project_sync/project_bisync will run rclone instead of failing. In that scenario users can still start the unsupported Team local-mirror workflow the docs warn against, so the commands should explicitly reject non-Personal workspace entries before touching rclone.

Useful? React with 👍 / 👎.

@phernandez

Copy link
Copy Markdown
Member

we need to prefer the push/pull semantics and note that sync/bisync are not supported for shared projects. lets include what we can from this PR after updating the docs with the latest flow from main.

@phernandez phernandez marked this pull request as ready for review June 10, 2026 04:20
@phernandez phernandez added the needs-review Maintainer decision needed before merge label Jun 10, 2026
@phernandez

Copy link
Copy Markdown
Member

Labeling needs-review: this predates the Team push/pull work (#920) and the branch now conflicts with main; the help-text direction overlaps #851. Needs a maintainer pass to decide whether to rebase-and-salvage or fold into the #851 docs work.

phernandez added a commit that referenced this pull request Jun 10, 2026
Folds in the intent of #857 reconciled with the post-#920 push/pull reality. Closes #851.

Co-authored-by: Drew Cain <groksrc@users.noreply.github.com>
Signed-off-by: phernandez <paul@basicmemory.com>
@phernandez

Copy link
Copy Markdown
Member

Closing with thanks — the documentation this PR set out to fix has landed accurate and current via #947 (with co-author credit), reconciled against the Team push/pull commands from #920 that this branch predated. The tracking issue #851 is closed by it.

@phernandez phernandez closed this Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-review Maintainer decision needed before merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document cloud sync/bisync commands as Personal-workspace-only local mirror workflows

2 participants