Repository navigation
feat(cli): deprecate cloud bisync and mirror sync; diagnostics env overrides - #1711
Conversation
…errides - #1596: `bm cloud sync`, `bisync` and `bisync-reset` are deprecated. They are marked in --help, warn with the pull/push command on every run, still run on Personal workspaces, and refuse Team workspaces with that notice. `bm project list` treats every workspace as sync-supported, since push/pull works on Team. Help examples no longer pass `--workspace Personal`. docs/cloud-cli.md now presents push/pull as the standard workflow, with the mirror commands in one deprecated section; AGENTS.md, the man page and integration docs follow. - #1595: basic_memory_diagnostics lists BASIC_MEMORY_* overrides of config fields, redacted like the file dump; other BASIC_MEMORY_* names only. - #1593: drop the stale `sync`/`watch` entries from the skip-init set, now a module constant guarded by a test against the registered commands. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea Signed-off-by: phernandez <paul@basicmachines.co>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a1c72cbb75
ℹ️ 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".
…before login check - basic_memory_diagnostics now derives overrides from env_overridden_fields, the same rule ConfigManager uses. Lowercase env names that lose to a file value are listed by name only, and legacy BASIC_MEMORY_SYNC_* names are reported under their current field. - bm cloud sync and bisync print the pull/push migration notice before the credential guard, so a logged-out run still shows the replacement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea Signed-off-by: phernandez <paul@basicmachines.co>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 59338005b2
ℹ️ 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".
…ed in MCP listing - env_override_sources maps each env-sourced field to the variable that sets it, matching names in any letter case as pydantic-settings does. load_config, config saves and basic_memory_diagnostics all use it, so a lowercase basic_memory_* name wins over the file, stays out of config.json, and is reported as an override. - list_memory_projects reports sync_supported=true for every workspace and no longer labels Team projects "cloud-only (local sync unsupported)", matching bm project list --json (#1596). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea Signed-off-by: phernandez <paul@basicmachines.co>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fb4944d6db
ℹ️ 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".
…e setup is Personal-only - env_override_sources reports the last case-insensitive match in os.environ order, the spelling pydantic-settings applies, instead of preferring the exact upper-case name. - docs/cloud-cli.md: `bm cloud setup` (rclone + storage credentials) is a Personal-workspace step; Team workspaces transfer over WebDAV and skip it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea Signed-off-by: phernandez <paul@basicmachines.co>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3be8d4bc50
ℹ️ 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".
…urvive The deprecation notice and the Team refusal format the project name into a copyable pull/push command; Rich interpreted bracketed names as tags. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea Signed-off-by: phernandez <paul@basicmachines.co>
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
CI sets FORCE_COLOR, so Rich prefixes each help-table row with escape codes and the deprecated-marker test found no row starting with the command name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea Signed-off-by: phernandez <paul@basicmachines.co>
Closes #1596. Closes #1595. Closes #1593.
#1596: deprecate
bm cloud sync/bisync/bisync-resetdeprecated=True, sobm cloud --helpshows(deprecated).bm cloud <cmd>is deprecated and will be removed in a future release. Usebm cloud pull --name <p>/bm cloud push --name <p>instead."bm cloud checkis labelled legacy, Personal-only.pruneis unchanged and does not warn (pinned by a test).bm project list:sync_supportedis true for every workspace, because push/pull works on Team. Team projects with a local sync path no longer show ascloud-only. The JSON keys stay for scripts.bm project add --local-pathandbm cloud sync-setupno longer suggest bisync.--workspace my-teaminstead of--workspace Personal.docs/cloud-cli.mdis rewritten around push/pull, and the mirror commands are condensed into one "Deprecated" section. It also correctsset-key/create-keyto the realapi-key save/api-key create.bm.1, and the Hermes and OpenClaw docs are updated. OpenClaw listedbm project sync/bisync, which don't exist.Decision: the mirror commands stay for now. They are deprecated and say so on every run and in
--help; no removal release is set.#1595: diagnostics shows env overrides
basic_memory_diagnosticsadds an "Environment Overrides" section.BASIC_MEMORY_<FIELD>variables are normalized to field names (case-insensitive, as pydantic-settings matches them) and passed through the sameredact_configas the file dump. Overridden secret fields show<redacted>. OtherBASIC_MEMORY_*variables are listed by name only.#1593: stale skip-init entries
The set moved to
SKIP_INIT_COMMANDS(module-level frozenset) withsyncandwatchremoved. A new test asserts it is a subset of the registered top-level commands.Verification
just fast-check: clean, including ty.just fast-test tests/cli tests/mcp/test_tool_basic_memory_diagnostics.py tests/test_remedy_emission_sites.py tests/test_config.py tests/test_rclone_commands.py: 1431 passed and 1 failed. The failure was the new skip-init test assertingclick.Groupwhen Typer vendors its own click; it now usesTyperGroupand passes, as doestest_project_sync_command.py(61 passed).bm cloud --helpchecked by hand.🤖 Generated with Claude Code
https://claude.ai/code/session_01APFUk2bjEwMptMQqpRhjea