-
Notifications
You must be signed in to change notification settings - Fork 150
Closed
Labels
Description
Problem
Files uploaded to Tigris S3 bucket via rclone bisync are not visible through the TigrisFS FUSE mount. Users report bisync completing successfully with files transferred, but MCP tools and web UI show empty results.
Root Cause
TigrisFS requires folder marker objects (empty S3 objects with keys ending in /) to recognize directory structure. Rclone bisync does not create these folder markers when uploading new directories.
Evidence
For a working folder that was created through the UI:
EXISTS: project-a/
EXISTS: project-a/subfolder/
For a folder created via bisync:
EXISTS: project-b/
MISSING: project-b/.claude/
MISSING: project-b/.claude/agents/
Files exist in S3 and are readable via boto3, but TigrisFS mount shows empty directory.
Reproduction Steps
- User runs
bm project bisync --name myproject --resync - Rclone uploads files to S3 (e.g.,
myproject/folder/file.md) - Rclone does NOT create folder markers (
myproject/folder/) - TigrisFS mount at
/app/data/myproject/shows empty - Database sync triggered but finds no files to index
Workaround
Manually create folder markers via Python/boto3:
# For each file path, extract folder prefixes and create empty marker objects
s3.put_object(Bucket=bucket, Key='myproject/folder/', Body=b'')After creating missing folder markers, TigrisFS immediately shows all files.
Permanent Fix Options
- Post-bisync hook: After rclone bisync completes, scan for missing folder markers and create them
- Rclone configuration: Use
--s3-directory-markersflag if available - Pre-sync preparation: Create folder markers before bisync based on local directory structure
Affected Components
src/basic_memory/cli/commands/cloud/rclone_commands.py-project_bisync()functionsrc/basic_memory/cli/commands/project.py- bisync command
Customer Impact
- Files sync successfully but don't appear in UI or MCP tools
- Database indexing fails because filesystem shows no files
- Workaround requires manual intervention on server