personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge hopper-jytxo7gw-wav-transcribe-fix: Add .wav to transcribe supported_formats

Resolved conflict in docs/JOURNAL.md: combined feature branch's .wav addition
to audio formats with main's .mp4 addition to video formats.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

+8 -8
+4 -4
docs/JOURNAL.md
··· 25 25 ┌─────────────────────────────────────┐ 26 26 │ LAYER 1: CAPTURES │ Raw recordings 27 27 │ (Binary media files) │ "What was recorded" 28 - │ - *.flac, *.ogg, *.opus (audio) │ 28 + │ - *.flac, *.ogg, *.opus, *.wav (audio) │ 29 29 │ - *.webm (video) │ 30 30 └─────────────────────────────────────┘ 31 31 ``` ··· 36 36 37 37 | Term | Definition | Examples | 38 38 |------|------------|----------| 39 - | **Capture** | Raw audio/video recording | `*.flac`, `*.ogg`, `*.opus`, `*.webm` | 39 + | **Capture** | Raw audio/video recording | `*.flac`, `*.ogg`, `*.opus`, `*.wav`, `*.webm` | 40 40 | **Extract** | Structured data from captures | `*.jsonl` | 41 41 | **Agent Output** | AI-generated narrative summary | `agents/*.md`, `HHMMSS_LEN/*.md` | 42 42 ··· 180 180 - `raw_media_days` (integer or null) – Number of days to retain raw media when mode is `"days"`. Required when `raw_media` is `"days"`, ignored otherwise. 181 181 - `per_stream` (object) – Per-stream overrides keyed by stream name. Each entry supports `raw_media` and `raw_media_days`. Omitted fields inherit from the global retention settings. 182 182 183 - "Raw media" means layer 1 capture files only: audio files (`.flac`, `.opus`, `.ogg`, `.m4a`), video files (`.webm`, `.mov`, `.mp4`), and screen diffs (`monitor_*_diff.png`). 183 + "Raw media" means layer 1 capture files only: audio files (`.flac`, `.opus`, `.ogg`, `.m4a`, `.wav`), video files (`.webm`, `.mov`, `.mp4`), and screen diffs (`monitor_*_diff.png`). 184 184 185 185 All layer 2 and layer 3 content is always preserved regardless of retention policy: transcripts (`audio.jsonl`, `screen.jsonl`), agent outputs (`agents/*.md`), speaker labels (`agents/speaker_labels.json`), facet events (`events/*.jsonl`), entity data, segment metadata (`stream.json`), and search index entries. 186 186 ··· 926 926 927 927 After transcription, audio files are moved into their segment folder: 928 928 929 - - `HHMMSS_LEN/*.flac`, `*.m4a`, `*.ogg`, or `*.opus` – audio files moved here after processing, preserving descriptive suffix (e.g., `audio.flac`, `audio.m4a`, `imported_audio.opus`) 929 + - `HHMMSS_LEN/*.flac`, `*.m4a`, `*.ogg`, `*.opus`, or `*.wav` – audio files moved here after processing, preserving descriptive suffix (e.g., `audio.flac`, `audio.m4a`, `imported_audio.opus`) 930 930 931 931 Note: The descriptive portion after the segment key (e.g., `_audio`, `_recording`) is preserved when files are moved into segment directories. Processing tools match files by extension only, ignoring the descriptive suffix. 932 932
+1 -1
docs/OBSERVE.md
··· 18 18 ``` 19 19 sol observer (platform-detected capture) 20 20 21 - Raw media files (*.flac, *.ogg, *.opus, *.webm, tmux_*.jsonl) 21 + Raw media files (*.flac, *.ogg, *.opus, *.wav, *.webm, tmux_*.jsonl) 22 22 23 23 sol sense (coordination) 24 24 ├── sol transcribe → audio.jsonl
+1 -1
observe/transcribe/main.py
··· 654 654 parser.error(f"Audio file not found: {audio_path}") 655 655 656 656 # Validate supported formats 657 - supported_formats = {".flac", ".m4a", ".mp3", ".ogg", ".opus"} 657 + supported_formats = {".flac", ".m4a", ".mp3", ".ogg", ".opus", ".wav"} 658 658 if audio_path.suffix.lower() not in supported_formats: 659 659 parser.error( 660 660 f"Unsupported audio format: {audio_path.suffix}. "
+2 -2
observe/utils.py
··· 52 52 53 53 For M4A files from sck-cli (which contain two mono streams: track 0 = 54 54 system audio, track 1 = microphone), all streams are decoded and mixed 55 - together. Other formats (.flac, .mp3, .ogg, .opus) are decoded via ffmpeg. 55 + together. Other formats (.flac, .mp3, .ogg, .opus, .wav) are decoded via ffmpeg. 56 56 57 57 Parameters 58 58 ---------- 59 59 raw_path : Path 60 - Path to audio file (.flac, .ogg, .opus, or .m4a) 60 + Path to audio file (.flac, .ogg, .opus, .wav, or .m4a) 61 61 sample_rate : int 62 62 Target sample rate (default: 16000) 63 63