From ffe5aa46dc310c8c4ce22096382cb7dc71ed3b4b Mon Sep 17 00:00:00 2001 From: phernandez Date: Tue, 28 Oct 2025 12:08:56 -0500 Subject: [PATCH] docs: Update SPEC-20 to mark Phase 2 and Phase 3 complete MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Marked completed checklist items: Phase 2 (Rclone Config Simplification): - Updated configure_rclone_remote() to use basic-memory-cloud - Removed add_tenant_to_rclone_config() - Removed tenant_id from remote naming - Tested rclone config generation - Cleaned up deprecated import references Phase 3 (Project-Scoped Rclone Commands): - Created rclone_commands.py with full implementation - Implemented all sync operations (sync, bisync, check, ls) - Added helper functions and SyncProject dataclass - Wrote 22 tests with 99% coverage - Temporarily disabled mount commands Both phases complete and tested. Ready for Phase 4. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Signed-off-by: phernandez --- ...0 Simplified Project-Scoped Rclone Sync.md | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/specs/SPEC-20 Simplified Project-Scoped Rclone Sync.md b/specs/SPEC-20 Simplified Project-Scoped Rclone Sync.md index afa59663..f9f9ebf2 100644 --- a/specs/SPEC-20 Simplified Project-Scoped Rclone Sync.md +++ b/specs/SPEC-20 Simplified Project-Scoped Rclone Sync.md @@ -991,22 +991,26 @@ rm -rf ~/basic-memory-cloud-sync/ - [x] Test config loading/saving with new schema - [x] Handle migration from old config format -### Phase 2: Rclone Config Simplification (1 day) -- [ ] Update `configure_rclone_remote()` to use `basic-memory-cloud` as remote name -- [ ] Remove `add_tenant_to_rclone_config()` (replaced by configure_rclone_remote) -- [ ] Remove tenant_id from remote naming -- [ ] Test rclone config generation +### Phase 2: Rclone Config Simplification (1 day) ✅ +- [x] Update `configure_rclone_remote()` to use `basic-memory-cloud` as remote name +- [x] Remove `add_tenant_to_rclone_config()` (replaced by configure_rclone_remote) +- [x] Remove tenant_id from remote naming +- [x] Test rclone config generation +- [x] Clean up deprecated import references in bisync_commands.py and core_commands.py -### Phase 3: Project-Scoped Rclone Commands (2-3 days) -- [ ] Create `src/basic_memory/cli/commands/cloud/rclone_commands.py` -- [ ] Implement `get_project_remote(project, bucket_name)` -- [ ] Implement `project_sync()` (one-way: local → cloud) -- [ ] Implement `project_bisync()` (two-way: local ↔ cloud) -- [ ] Implement `project_check()` (integrity verification) -- [ ] Implement `project_ls()` (list remote files) -- [ ] Add helper: `get_project_bisync_state(project_name)` -- [ ] Add helper: `bisync_initialized(project_name)` -- [ ] Write unit tests for rclone commands +### Phase 3: Project-Scoped Rclone Commands (2-3 days) ✅ +- [x] Create `src/basic_memory/cli/commands/cloud/rclone_commands.py` +- [x] Implement `get_project_remote(project, bucket_name)` +- [x] Implement `project_sync()` (one-way: local → cloud) +- [x] Implement `project_bisync()` (two-way: local ↔ cloud) +- [x] Implement `project_check()` (integrity verification) +- [x] Implement `project_ls()` (list remote files) +- [x] Add helper: `get_project_bisync_state(project_name)` +- [x] Add helper: `bisync_initialized(project_name)` +- [x] Add helper: `get_bmignore_filter_path()` +- [x] Add `SyncProject` dataclass for project representation +- [x] Write unit tests for rclone commands (22 tests, 99% coverage) +- [x] Temporarily disable mount commands in core_commands.py ### Phase 4: CLI Integration (2-3 days) - [ ] Update `project.py`: Add `--local` flag to `project add` command