phernandez
1fa93ecbd2
feat: add optional logfire instrumentation for cloud mode distributed tracing
2025-10-08 00:23:00 -05:00
Paul Hernandez
73202d1aab
fix: add tool use doc to write note for using empty string for root folder ( #339 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-07 23:48:02 -05:00
Paul Hernandez
795e339333
fix: prevent nested project paths to avoid data conflicts ( #338 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-07 09:44:39 -05:00
Paul Hernandez
07e304ce8e
fix: normalize paths to lowercase in cloud mode to prevent case collisions ( #336 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-05 17:56:58 -05:00
phernandez
2a1c06d9ad
fix link in ai_assistant_guide resource
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-05 17:26:14 -05:00
Paul Hernandez
c6f93a0294
chore: v0.15.0 assistant guide ( #335 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-05 17:20:54 -05:00
Paul Hernandez
ccc4386627
feat: introduce BASIC_MEMORY_PROJECT_ROOT for path constraints ( #334 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-05 10:42:06 -05:00
Paul Hernandez
7616b2bb08
fix: cloud mode path validation and sanitization (bmc-issue-103) ( #332 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-04 22:10:21 -05:00
phernandez
14c1fe4e89
chore: update version to 0.15.0 for v0.15.0 release
v0.15.0
2025-10-04 15:02:28 -05:00
phernandez
367dc6962a
style: apply ruff formatting to test files
...
Auto-format test files for permalink collision tests.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-04 15:00:19 -05:00
phernandez
ee18eb2fea
docs: add v0.15.0 changelog entry
...
Comprehensive changelog for v0.15.0 release covering:
- Critical permalink collision data loss fix
- 10+ bug fixes including #330 , #329 , #328 , #312
- 9 new features including cloud sync and subscription validation
- Platform improvements (Python 3.13, Windows, Docker)
- Enhanced testing and documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-04 14:53:06 -05:00
phernandez
2a050edee4
fix: prevent permalink collision via strict link resolution
...
Fixes critical data loss bug where creating similar entity names
(e.g., "Node C") would overwrite existing entities (e.g., "Node A.md")
due to fuzzy search incorrectly matching similar file paths.
Changes:
- Add strict=True to resolve_link() calls in entity_service.py
- Disables fuzzy search fallback during entity creation/update
- Prevents false positive matches on similar paths like
"edge-cases/Node A.md" and "edge-cases/Node C.md"
Testing:
- Added comprehensive integration test reproducing the bug scenario
- Added MCP-level permalink collision tests
- All 55 entity service tests pass
- Manual testing confirms fix prevents file overwrite
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-04 14:45:37 -05:00
Paul Hernandez
f3b1945e4c
fix: remove .env file loading from BasicMemoryConfig ( #330 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-04 01:13:06 -05:00
Paul Hernandez
16d7eddbf7
ci: Add Python 3.13 to test matrix ( #331 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-04 01:12:44 -05:00
Paul Hernandez
f5a11f3911
fix: normalize underscores in memory:// URLs for build_context ( #329 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-10-04 00:16:06 -05:00
Paul Hernandez
ee83b0e5a8
fix: simplify entity upsert to use database-level conflict resolution ( #328 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-03 23:25:34 -05:00
Paul Hernandez
a7bf42ef49
fix: Add proper datetime JSON schema format annotations for MCP validation ( #312 )
...
Signed-off-by: Claude Code <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-10-03 22:47:02 -05:00
Paul Hernandez
903591384d
feat: Add disable_permalinks config flag ( #313 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-03 22:11:47 -05:00
Paul Hernandez
33ee1e0831
feat: integrate ignore_utils to skip .gitignored files in sync process ( #314 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-03 21:39:31 -05:00
Paul Hernandez
c83d567917
fix: enable WAL mode and add Windows-specific SQLite optimizations ( #316 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-03 21:10:09 -05:00
Paul Hernandez
ace6a0f50d
feat: CLI Subscription Validation (SPEC-13 Phase 2) ( #327 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-03 17:59:32 -05:00
Jonathan Nguyen
fc38877008
Fix: Corrected dead links in README ( #321 )
...
Signed-off-by: Jonathan Nguyen <74562467+jonathan-d-nguyen@users.noreply.github.com >
2025-10-03 10:23:16 -05:00
Paul Hernandez
99a35a7fb4
feat: Cloud CLI cloud sync via rclone bisync ( #322 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-03 10:18:43 -05:00
Paul Hernandez
ea2e93d926
fix: rework lifecycle management to optimize cloud deployment ( #320 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-28 15:11:38 -05:00
Paul Hernandez
324844a670
fix: resolve entity relations in background to prevent cold start blocking ( #319 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-28 09:24:29 -05:00
Paul Hernandez
f818702ab7
fix: enforce minimum 1-day timeframe for recent_activity to handle timezone issues ( #318 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-27 23:37:00 -05:00
Paul Hernandez
2efd8f44e2
fix: critical cloud deployment fixes for MCP stability ( #317 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-27 21:57:39 -05:00
Paul Hernandez
5da97e4820
feat: implement SPEC-11 API performance optimizations ( #315 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-26 14:34:46 -05:00
Paul Hernandez
17a6733c9d
fix: remove obsolete update_current_project function and --project flag reference ( #310 )
...
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-09-26 11:46:33 -05:00
Drew Cain
3e168b98f3
fix: move_note without file extension ( #281 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: phernandez <paul@basicmachines.co >
2025-09-26 11:41:45 -05:00
Paul Hernandez
1091e11322
fix: Make sync operations truly non-blocking with thread pool ( #309 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-26 10:10:58 -05:00
Paul Hernandez
f40ab31685
feat: chatgpt tools for search and fetch ( #305 )
...
Signed-off-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Drew Cain <groksrc@users.noreply.github.com >
2025-09-25 11:55:56 -05:00
phernandez
bcf7f40979
fix: Correct GitHub workflow conditions for org member @claude mentions
...
Fixed the conditional logic in claude.yml to properly handle different event types:
- Use github.event.comment.author_association for issue_comment events
- Use github.event.sender.author_association for other events
- Maintain support for all basicmachines-co org members (OWNER/MEMBER/COLLABORATOR)
This ensures @claude mentions in PR comments trigger the workflow correctly.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-09-23 10:00:51 -05:00
Paul Hernandez
8c7e29e325
chore: Update Claude Code GitHub Workflow ( #308 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-23 09:50:38 -05:00
phernandez
84c0b36dee
feat: Add comprehensive cloud mount CLI commands and documentation
...
This commit implements SPEC-7 Phase 4 by adding local file access capabilities
to the Basic Memory Cloud CLI, enabling users to mount their cloud files locally
for real-time editing.
New features:
- Cloud mount setup with automatic rclone installation
- Mount/unmount/status commands with three performance profiles
- Cross-platform rclone installer with package manager fallbacks
- Mount configuration management with tenant-specific credentials
- Comprehensive documentation with examples and troubleshooting
Mount profiles:
- fast: 5s sync for active development
- balanced: 10-15s sync (recommended)
- safe: 15s+ sync with conflict detection
Technical implementation:
- Uses rclone NFS mount (no FUSE dependencies)
- Tigris object storage with scoped credentials
- Bidirectional sync with configurable cache settings
- Process management and cleanup
Fixes Python module conflict by moving cloud.py commands to cloud/core_commands.py
to resolve typer CLI loading issues with cloud.py file vs cloud/ directory.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-09-22 17:47:06 -05:00
Paul Hernandez
2c5c606a39
feat: Implement cloud mount CLI commands for local file access ( #306 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-22 14:19:25 -05:00
Paul Hernandez
a1d7792bdb
feat: Implement SPEC-6 Stateless Architecture for MCP Tools ( #298 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Signed-off-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Drew Cain <groksrc@users.noreply.github.com >
2025-09-21 20:39:19 -05:00
phernandez
7979b4192e
remove no content-encoding: none header
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-09-16 16:35:32 -05:00
Drew Cain
52d9b3c752
setting content-encoding to none for mcp
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2025-09-16 16:09:33 -05:00
Paul Hernandez
e0d8aeb149
feat: Basic memory cloud upload ( #296 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Drew Cain <groksrc@gmail.com >
2025-09-16 15:07:14 -05:00
Brandon Mayes
17b929446a
fix: Sanitize folder names and properly join paths ( #292 )
2025-09-15 23:26:56 -04:00
Paul Hernandez
b00e4ff5a1
fix: replace deprecated json_encoders with Pydantic V2 field serializers ( #295 )
...
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-09-14 22:19:16 -05:00
Drew Cain
0499319ded
fix: rename MCP prompt names to avoid slash command parsing issues ( #289 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2025-09-09 21:42:35 -05:00
jope-bm
3a6baf80fc
feat: Merge Cloud auth ( #291 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-09 14:48:17 -06:00
jope-bm
ec2fa07350
chore: apply lint and formatting fixes for 0.14.4 release ( #290 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-05 10:00:52 -06:00
Joe P
73cade27ab
chore: update version to 0.14.4 for v0.14.4 release
v0.14.4
2025-09-04 14:03:09 -06:00
Joe P
7e024a8674
fix: resolve linting errors for release preparation
...
- Replace bare except clauses with Exception in legal_file_inventory.py
- Remove unused variables in test files
- Prepare codebase for v0.14.4 release
2025-09-04 14:01:06 -06:00
Drew Cain
22f7bfa398
fix: Update YAML frontmatter tag formatting for Obsidian compatibility ( #280 )
...
Signed-off-by: Drew Cain <groksrc@users.noreply.github.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
2025-09-04 09:57:45 -05:00
jope-bm
cd7cee650f
fix: complete project management special character support ( #272 ) ( #279 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: jope-bm <jope-bm@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-29 10:57:13 -06:00
Paul Hernandez
105bcaa025
feat: implement non-root Docker container to fix file ownership issues ( #277 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Drew Cain <groksrc@gmail.com >
2025-08-28 22:15:14 -05:00