mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
docs: Update SPEC-20 to mark Phase 2 and Phase 3 complete
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 <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user