You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parallelize manifest build and add progress tracking
Split manifest generation into up to 4 concurrent rclone lsjson workers
to reduce listing time for large datasets. Add `manifest combine` CLI
command, prepare job phase tracking (progress.json), manifest build
progress reporting, and bump prepare resources (250G mem, 4-day limit).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Parallelize manifest generation into up to 4 concurrent `rclone lsjson` workers, reducing listing time for large datasets with many top-level subdirectories (`slurm_tools.py`)
8
+
- Add `manifest combine` CLI command to merge parallel lsjson part files (with `.prefix` sidecars) into a unified `manifest.jsonl` (`cli.py`)
9
+
- Bump prepare job memory from 16 GB to 250 GB to accommodate large listings (`slurm_tools.py`)
10
+
- Add `--max-backlog=1000000` to `rclone lsjson` calls to prevent the walker from stalling on large buckets (`cli.py`, `slurm_tools.py`)
Copy file name to clipboardExpand all lines: src/xfer/slackbot/claude_agent.py
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,9 @@
84
84
"name": "check_status",
85
85
"description": """Check the status of transfer jobs in this thread. Use this when the user asks about job status, progress, or wants to know if their transfer is complete.
86
86
87
-
This tool finds all jobs associated with the current Slack thread and returns their status.""",
87
+
This tool finds all jobs associated with the current Slack thread and returns their status.
88
+
89
+
When the phase is "building_manifest", the prepare job is listing files at the source. This can take up to several days for large datasets and is normal. The response may include files_listed and bytes_listed if the JSONL writing phase has started, or prepare_phase/prepare_detail for finer-grained progress. Only flag a concern if the job has been in this phase for more than 48 hours with no observable progress.""",
88
90
"input_schema": {
89
91
"type": "object",
90
92
"properties": {
@@ -292,6 +294,7 @@
292
294
6. When reporting job status, include relevant details like progress and any errors
293
295
7. If users want custom rclone flags (e.g., bandwidth limits, checksum verification), pass them via the rclone_flags parameter
294
296
8. When a user reports a problem or asks you to investigate an issue with a transfer, ALWAYS use read_job_logs to examine the actual log files. The shard logs contain the real error messages from rclone and the transfer process. Do not guess at causes without reading the logs first.
297
+
9. The preparation phase (manifest building) can take a long time for large datasets — up to several days is normal. The prepare job has a 4-day time limit. Only consider it a potential problem if the prepare job has been running for more than 48 hours with no progress. If the status includes files_listed or bytes_listed, report those numbers to the user so they can see listing is progressing. If those numbers are absent, the rclone listing is still running (it returns results all at once when complete).
295
298
296
299
Transfer path format:
297
300
- Paths should be in rclone format: "remote:bucket/path"
0 commit comments