You recorded a JPR voice memo on Apple Watch / iPhone but:
- It hasn’t appeared in
~/Sync/ED/dictation/processed/ ~/Sync/ED/daily-diary.mdis stale- No tasks from
dashcommands made it toTASKS.md
The hourly process-dictation Cowork task runs at :04 past every hour โ recordings should appear within ~70 minutes of capture.
1. Did iCloud sync the file from your watch/phone to Mac?
ls -la ~/Library/Mobile\ Documents/iCloud~com~openplanetsoftware~just-press-record/Documents/$(date +%Y-%m-%d)/
If the day folder is empty or the file is .something.icloud (placeholder), iCloud hasn’t downloaded it. Force the download:
brctl download ~/Library/Mobile\ Documents/iCloud~com~openplanetsoftware~just-press-record/Documents/$(date +%Y-%m-%d)/
The pipeline runs brctl download automatically before scanning, but only on day directories it can already see โ a never-synced day won’t be scanned.
2. Did the pipeline script run?
tail -20 /tmp/dictation-run.log
If you see “No new dictation files found” right after your recording was made, JPR-on-watch didn’t sync in time. Wait 5-15 minutes and the next hourly run should catch it.
3. Was the recording skipped?
The script skips files < 50 KB (accidental taps). Confirm size:
ls -la ~/Library/Mobile\ Documents/iCloud~com~openplanetsoftware~just-press-record/Documents/$(date +%Y-%m-%d)/*.m4a
4. Was there an anomaly?
Recordings > 2h with < 5 min of detected speech trigger a Gotify alert. Check ~/Sync/ED/dictation/processed/ for an ## โ ANOMALY entry โ that means transcription ran but the audio was flagged as a left-running mic.
Force a manual run:
/bin/zsh ~/Sync/ED/dictation/process-dictation.sh
This handles iCloud download, transcription (Whisper large-v3 via mlx-whisper), chunking long recordings, and parsing dash commands. Watch the output for errors.
If transcription itself failed, check the venv:
ls -la ~/venvs/whisper-asr/bin/python3
~/venvs/whisper-asr/bin/python3 -c "import mlx_whisper; print(mlx_whisper.__version__)"
If the venv is broken, ~/scripts/rebuild-mcp-venvs.sh doesn’t cover whisper-asr โ rebuild manually:
python3.12 -m venv ~/venvs/whisper-asr
source ~/venvs/whisper-asr/bin/activate
pip install mlx-whisper
After the manual run:
# A processed report should exist with today's date prefix
ls -lat ~/Sync/ED/dictation/processed/ | head -3
# daily-diary.md should reflect today's content if there was any narrative
ls -la ~/Sync/ED/daily-diary.md
head -20 ~/Sync/ED/daily-diary.md
Date rule: all artifacts use the recording’s start time from the JPR folder name (Documents/YYYY-MM-DD/HH-MM-SS.m4a), never date +%Y-%m-%d or file mtime. A recording started at 11:50 PM May 21 finishing at 12:30 AM May 22 belongs to May 21 even when picked up by the 01:04 AM May 22 cron.